У меня есть сетка кендо, и когда я нажимаю кнопку редактирования, в какой строке я хочу показать модальную форму с древовидной структурой. Проблема в том, что я не могу установить флажки древовидной структуры из массива, чтобы показать для редактирования.
это мой код JQuery:
$("#grids").delegate(".EditButton", "click", function (e) {
var grid = $("#grids").data("kendoGrid");
var myVar = grid.dataItem($(this).closest("tr"));
$('#eRoleCode').val(myVar.RoleCode);
$('#eRoleName').val(myVar.RoleName);
$('#eDescription').val(myVar.Description);
var OperationData = myVar.OperationId;
var temp = myVar.IsActive
if (temp === true) {
//$("input[name=esquared-radios][value='eMenGender']").prop("checked", 'checked');
$('input[name=esquared-radios][id=eactive]').prop('checked', 'checked');
}
else {
//$("input[name=esquared-radios][value='eWMenGender']").prop("checked", 'checked');
$('input[name=esquared-radios][id=edisActive]').prop('checked', 'checked');
}
var edataSources = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: "/Role/LoadEditTreeView?applicationId=@ViewBag.AppIdFromAPP",
dataType: "json"
}
},
schema: {
model: {
children: "items",
hasChildren: "hasChildren",
expanded: true,
id: "id"
}
}
});
$("#etreeview").kendoTreeView({
autoScroll: true,
checkboxes: {
checkChildren: true
},
check: eonCheck,
dataSource: edataSources,
loadOnDemand: false
});
var selectedDataeOP = []
selectedDataeOP = OperationData.split(',');
var dataItems = $("#etreeview").data("kendoTreeView").dataItems();
setTreeViewValues(dataItems);
function setTreeViewValues(dataItems) {
dataItems.forEach(function (dataItem) {
selectedDataeOP.forEach(function (value) {
if (value.indexOf(dataItem.id) > -1) {
dataItem.set("checked", true);
}
if (dataItem.hasChildren) {
// checking child dataItems recursively
setTreeViewValues(dataItem.children.data());
}
});
});
}
function echeckedNodeIds(nodes, checkedNodes) {
for (var i = 0; i < nodes.length; i++) {
if (nodes[i].checked) {
checkedNodes.push(nodes[i].id);
}
if (nodes[i].hasChildren) {
checkedNodeIds(nodes[i].children.view(), checkedNodes);
}
}
}
// show checked node IDs on datasource change
function eonCheck() {
var echeckedNodes = [],
etreeView = $("#etreeview").data("kendoTreeView"),
message;
checkedNodeIds(etreeView.dataSource.view(), echeckedNodes);
if (echeckedNodes.length > 0) {
message = "IDs of checked nodes: " + echeckedNodes.join(",");
} else {
message = "No nodes checked.";
}
$("#result").html(message);
}
$("#responsiveEditModal").modal();
});
dataitems всегда пусто, и я не могу установить true проверено. что я должен делать для установленного значения true, когда у меня есть модальная форма для редактирования.