3

我打算使用 Telerik 的一些剑道控件,并开始使用 Treelist 控件。我正在使用 Visual Studio 2013 VB 或 C# 执行此操作。

该计划是创建一个发送一些(序列化)数据的 Web 服务,并且用户必须手动按下一个按钮,该按钮链接到一个为数据发布的 $Ajax 请求。该数据应传递到树列表。

但无论我尝试什么,它一直在告诉我:No Records to Display

问题:

1 为什么我提供的样本不起作用。我几乎从字面上复制了一个演示。

2 您是否需要单独的数据源,或者您也可以将数据直接放在树列表中?

提前致谢。

瑞克(荷兰)

样本:

`<script type="text/javascript">
 $(document).ready(function () {
      var dataSource = new kendo.data.TreeListDataSource({
         data: [
             { "Item": "Item0", "id": 0, "ParentId": null },
             { "Item": "Item1", "id": 1, "ParentId": 0 },
             { "Item": "Item2", "id": 2, "ParentId": 1 },
             { "Item": "Item3", "id": 3, "ParentId": 1 },
             { "Item": "Item4", "id": 4, "ParentId": null },
             { "Item": "Item5", "id": 5, "ParentId": null },
             { "Item": "Item6", "id": 6, "ParentId": 5 },
             { "Item": "Item7", "id": 7, "ParentId": 5 },
             { "Item": "Item8", "id": 8, "ParentId": 7 },
             { "Item": "Item9", "id": 9, "ParentId": 7 }
         ],
         schema: {
             model: {
                 id: "id",
                 expanded: true
             }
         }
     });

     $("#treelist").kendoTreeList({
         dataSource: dataSource,
         height: 540,
         columns: [
             { field: "Item" },
             { field: "id" },
             { field: "ParentId" }
         ]
     });
 });

</script>
4

5 回答 5

13

如果它是顶级记录,则 parentId 也需要为 null。这真的让我大跌眼镜。

于 2015-02-16T22:13:45.750 回答
6

@user4659712 是的,您可以定义架构。只要您通过架构告诉 parentId 可以是任何东西:

     vm.treeListDataSource = new kendo.data.TreeListDataSource({
         data: organizations,
         schema: {
             model: {
                 id: "Id",
                 fields: {
                     Id: { type: "number", nullable: false },
                     parentId: { field: "OverliggendeId", nullable: true }
                 },
                 expanded: true
             }
         },
         pageSize: 20
     });
于 2015-03-12T08:04:46.877 回答
3

这归结为一个简单的错字,“ParentId”需要是 parentId(注意小写 p)。

看到这个道场的工作版本。

http://dojo.telerik.com/uWaSO

我以前就犯过这个问题。

于 2015-01-19T00:23:11.997 回答
2

让我们不要忘记模型定义中的“parentId”字段。我们不必以这种方式更改 JSON 属性(ParentId 也需要在字段中进行描述):

var dataSource = new kendo.data.TreeListDataSource({
        data: [
            { Id: 1, Name: "test", ParentId: null },
            { Id: 2, Name: "test 2", ParentId: 1 }
        ],
        schema: {
            model: {
                id: "Id",
                parentId: "ParentId",
                fields: {
                    Name: { field: "Name", type: "string" },
                    StoreCount: { field: "StoreCount", type: "number" },
                    ParentId: { field: "ParentId", nullable: true }
                },
                expanded: true
            }
        }
    });
于 2016-01-05T10:30:03.753 回答
1

有谁知道您是否可以将具有不同名称的数据库列指定为 parentid?例如,我的表有 node_id 和 parent_node_id。

于 2015-03-11T17:42:23.547 回答