我必须构建一个树形列表,每次读取查询完成后,该树形列表都会从不同的端点获取元数据,但是显然仅使根级别起作用确实很痛苦。
有人可以在这里看到我做错了吗...
function build(meta) {
var grid = $('[name=treelist]');
// ifthere's a previous grid, rip it out
var oldGrid = grid.data("kendoTreeList");
if (oldGrid) {
oldGrid.destroy();
grid.empty();
}
var rootData = meta.Properties.map(function (i) {
return {
Id: i.Name,
ParentId: null,
ServerType: i.ServerType,
ParentType: { Id: null, Name: meta.Name, Type: meta.ServerType, Meta: meta },
Name: i.Name,
Type: i.Type,
Expression: "",
CanExpand: i.Type === "object" || i.Type === "array",
Meta: i
};
});
// build config for the new grid
var config = {
dataSource: new kendo.data.TreeListDataSource({
transport: {
read: function(o) {
o.success(rootData);
}
},
data: rootData,
schema: {
model: {
id: "Id",
parentId: "ParentId",
hasChildren: "CanExpand",
fields: {
Name: { field: "Name", type: "string" },
Type: { field: "Type", type: "string" },
Expression: { field: "Expression", type: "string" }
}
}
}
}),
columns: [
{
title: "",
width: 70,
template: "<input name='Selected' type='checkbox' data-bind='checked: Selected' #= data.Selected ? checked='checked' : '' #/>"
},
{ field: 'Id', title: 'Path' },
{ field: 'Name', title: 'Name' },
{ field: 'Type', title: 'Type' },
{ title: "Expression", template: "<input name='expression' type='text' />" },
]
};
// tell kendo to build it
grid.kendoTreeList(config);
}
...此代码设置了一个树形列表,但是即使基本集具有记录,也显示消息“ no records”,我将其设置为data属性,并始终在读取传输配置时返回。 / p>
我没有例外/警告,只是一个空列表。