KendoTreeView在第二层次结构中需要什么数据格式?
What data format does KendoTreeView require in second hierarchy?
我正在使用KendoUI Web,并设置了一个具有两层层次结构的TreeView,它使用数据源的传输选项从CRUD服务加载数据:
var Level2 = kendo.data.Node.define({
id: "Level2_Id",
hasChildren: false,
fields: {
"Level2_Id": { type: "number" },
"Name": { type: "string" },
"Level1_Id": { type: "number" }
}
});
var level2DataSource = {
transport: {
read: {
url: "/service/level2",
type: "get",
dataType: "json"
},
create: {
url: "/service/level2",
type: "post",
dataType: "json"
}
},
schema: {
model: Level2
}
};
var Level1 = kendo.data.Node.define({
id: "Level1_Id",
hasChildren: true,
fields: {
"Level1_Id": { type: "number" },
"Name": { type: "string" },
},
children: level2DataSource,
});
var level1DataSource = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: "/service/level1",
type: "get",
dataType: "json"
},
create: {
url: "/service/level1",
type: "post",
dataType: "json"
}
},
schema: {
model: Level1
}
});
var myTreeview = $("#treeview").kendoTreeView({
dataSource: leaguesDataSource,
template: kendo.template($("#treeview-template").html())
});
读取数据在两个级别上都可以正常工作。
创建新项目是通过在TreeView上调用.append()
,然后在一级数据源上调用.sync()
来完成的。这将导致向我的服务发出POST请求,并返回新的JSON对象。树视图更新得很好。
然而,当在第2层做同样的事情时,树视图将删除所有项目,只显示新项目所附加到的第1层项目的第2层子项目。
GET请求返回一个包含1级或2级项目的JSON数组,如
result of /service/level1
[
{Level1_Id:1,Name:"Item 1"},
{Level1_Id:2,Name:"Item 2"},
{Level1_Id:3,Name:"Item 3"},
]
result of /service/level2
[
{Level2_Id:1,Name:"Item 2.1",Level1_Id:2},
{Level2_Id:2,Name:"Item 2.2",Level1_Id:2}
]
POST请求返回一个相同格式的对象。
我需要在我的服务中返回什么格式,以便在添加项后在第2层正确更新树视图?
预期结果:
- Item 1
- Item 2 (append here)
- Item 2.1
- Item 2.2 (new item)
- Item 3
POST请求后的实际结果:
- Item 2.1
- Item 2.2 (new item)
你的语法不对。你必须写
schema:{model:{id: "IdLevel", children: "items", hasChildren: "hasChildren"}}
使用分层数据。
例如,你必须有这样的数据:
[
{ categoryName: "SciFi", items: [
{ movieName: "Inception", rating: 8.8 },
{ movieName: "The Matrix", rating: 8.7 }
] },
{ categoryName: "Drama", hasAssignedMovies: true }]
相关文章:
- 如何通过数据分组将json数据转换为嵌套的json数据格式
- 如何将正确的数据格式从SQL传递到PHP
- 将JSON数据格式化为excel文件
- 具有任意多条线的D3折线图(以及特定的数据格式)
- HTML5 中的不同数据格式
- jquery DataTable 数据格式和警告 - 添加的数据与已知列数不匹配
- D3 十年时间刻度刻度,数据格式为年
- jqplot:barchart的图例数据格式
- D3,绘图到地图,可能的数据格式
- AJAX Post网络上的数据格式
- ngTagsInput:保留原始数据提供者的数据格式
- Javascript:数据格式,类似于Spring Property Editors
- Javascript中的Date().toDateString()是什么日期格式
- 将数据格式从单个对象转换为键值对的对象数组
- 散景中多行的数据格式
- 什么数据类型是$('#checkbox').attr('checked')
- 如何将数组发送到存储过程?如果我从JS发送数据,最好的数据格式是什么
- 指定字符串中的数据格式是什么,以及如何解析它
- KendoTreeView在第二层次结构中需要什么数据格式?
- 高架图的数据格式应该是什么?