Я пытаюсь повторить jsgrid через шаблон HTML5, тот же вызов ajax в качестве источника данных с другой переменной. Отрисовывается только первая сетка.
Это выполнимо, и если да, не могли бы вы подсказать?
Спасибо.
Вот сценарий:
var template = document.querySelector('template').content;
for (var i = 0; i < distinctQuote.length; i++)
{
$('.jsSnapshot').jsGrid({
width: "100%",
height: "auto",
inserting: false,
editing: true,
sorting: true,
autoload: true,
noDataContent: "No record found",
controller: {
loadData: function () {
var d = $.Deferred();
$.ajax({
url: "/AJAXWebServices/UnderwriterWorksheet/UnderwriterWorksheet.asmx/GetQuickSnapshotByQuoteId",
data: { quoteId: distinctQuote[i] },
dataType: "json",
type: "post"
}).done(function (response) {
d.resolve(response);
});
return d.promise();
}
},
fields: [
{ name: "QuickSnapShotId", type: "number", visible: false },
{ name: "QuickSnapShotFieldId", type: "number", visible: false },
{ name: "QuickSnapShotFieldName", title:"", type: "string", width: 100, validate: "required" },
{ name: "CurrentYear", title:"Current Year", type: "number", width: 200, validate: "required" },
{ name: "LastYear", title:"Last Year", type: "number", width: 200 }
]
});
document.querySelector('#container').appendChild(document.importNode(template, true));
}
Я понял. Рабочий код:
var template = document.querySelector('#template').content;
for (var i = 0; i < distinctQuote.length; i++) {
document.querySelector('#container').appendChild(document.importNode(template, true));
$('.jsGridSnapshot').last().jsGrid({
width: "100%",
height: "auto",
inserting: false,
editing: true,
sorting: true,
autoload: true,
noDataContent: "No record found",
controller: {
loadData: function () {
var d = $.Deferred();
$.ajax({
url: "/AJAXWebServices/UnderwriterWorksheet/UnderwriterWorksheet.asmx/GetQuickSnapshotByQuoteId",
data: { quoteId: distinctQuote[i] },
dataType: "json",
type: "post"
}).done(function (response) {
d.resolve(response);
});
return d.promise();
}
},
fields: [
{ name: "QuickSnapShotId", type: "number", visible: false },
{ name: "QuoteId", type: "number", visible: false },
{ name: "QuickSnapShotFieldId", type: "number", visible: false },
{ name: "QuickSnapShotFieldName", title:"", type: "string", width: 100, validate: "required" },
{ name: "CurrentYear", title:"Current Year", type: "number", width: 200, validate: "required" },
{ name: "LastYear", title:"Last Year", type: "number", width: 200, validate: "required" }
],
});
}
}