У меня есть одна сетка пользовательского интерфейса кендо, и я привязываюсь к Javascript, ниже приведен код для того же.
Моя проблема заключается в том, что когда я устанавливаю флажок, прокручиваю сетку вниз и прокручиваю вверх, тогда этот флажок снят, даже если я перехожу на следующую страницу, а затем получаю ту же проблему.
$(gridName).html("");
var fieldSchema = [];
var columnSchema = [];
columnSchema.push({
field: "",
width: "30px",
template: "<input id='chkDelete' type='checkbox' />",
});
var counter = 0;
$.each(data, function (index) {
counter = counter + 1;
var xmldoc = $.parseXML(data[index].CustomFields);
var $xml = $(xmldoc);
var jsonStr = '{';
$xml.find("Fields").find("Field").each(function () {
jsonStr = jsonStr + '"' + $(this).attr("Title").replace(/\s/g, '').replace(/[^\w\s]/gi, '') + '":{';
jsonStr = jsonStr + '"Title":"' + $(this).attr("Title") + '",';
jsonStr = jsonStr + '"Value":"' + $(this).attr("Value") + '",';
jsonStr = jsonStr + '"Id":"' + $(this).attr("Id") + '"},';
if (counter == 1) {
columnSchema.push({
field: $(this).attr("Title").replace(/\s/g, '').replace(/[^\w\s]/gi, '') + ".Value",
title: $(this).attr("Title"),
width: "128px",
template: "#=" + $(this).attr("Title").replace(/\s/g, '').replace(/[^\w\s]/gi, '') + ".Value#",
});
}
});
jsonStr = jsonStr + '"CustomFields":"' + data[index].CustomFields.replace(/\"/g, "\'") + '",';
jsonStr = jsonStr + '"ValidationPlanId":"' + data[index].ValidationPlanId + '",';
jsonStr = jsonStr + '"IsTrCreated":"' + data[index].IsTrCreated + '",';
jsonStr = jsonStr + '"Note":"' + data[index].Note + '",';
jsonStr = jsonStr + '"IsUpdate":"' + data[index].IsUpdate + '",';
jsonStr = jsonStr + '"TestRequestId":"' + data[index].TestRequestId + '"';
jsonStr = jsonStr + '}';
fieldSchema.push($.parseJSON(jsonStr));
});
var dtVpAdd = new kendo.data.DataSource({
data: fieldSchema,
schema: {
model: {
id: "ValidationPlanId"
},
total: function (result) {
var totalCount = result.length;
return totalCount;
}
}
});
dtVpAdd.pageSize(10);
$(gridName).kendoGrid({
dataSource: new kendo.data.DataSource({
data: fieldSchema,
schema: {
model: {
id: "ValidationPlanId"
}
},
pageSize: 10
}),
columns: columnSchema,
filterable: true,
sortable: {
mode: "multiple",
allowUnsort: true
},
scrollable: {
virtual: true
},
resizable: true,
reorderable: true,
pageable: {
input: true,
numeric: false
},
dataBound: function () {
$(gridName).on('click', '#chkDeleteAll', function () {
var checked = $(this).is(':checked');
$("input[id*='chkDelete']:checkbox").attr('checked', checked);
});
},
});