angularjs - Kendo treeList 数据源 - 不与远程数据绑定(bind)

标签 angularjs kendo-ui kendo-grid kendo-treeview

我已经为 treeList 编写了一个指令,并从远程服务调用将数据绑定(bind)到它。以下是指令链接方法中 TreeListDataSource 的代码:

scope.treeListOptions.dataSource = new kendo.data.TreeListDataSource({
  transport: {
    read: function(options) {
      scope.getData().then(function(dataToBeDisplayed) {
        options.success(dataToBeDisplayed);
      }, function(error) {
        $log.error(error);
      });
    },
    error: function(e) {
      alert(e.status + e.errorThrown);
    },
  },
});

scope.treeListOptions.dataSource.read(); 

以下是 TreeList 指令定义:

var TreeListDirectiveDefinition = {
  restrict: 'E',
  replace: true,
  template: '<div><kendo-treelist k-options="treeListOptions"></kendo-treelist></div>',
  scope: {
    columns: '=',
    getMethod: '&'
  },
  link: linkTreeList
};

当我看到绑定(bind)到scope.treeListOptions.dataSource.data()的数据时,添加了许多新属性,如下所示:

// parent element
C.define.init
PartExamined: "test"
StudyUid: "1.3.6.1.4.1.30071.8.56809868014.4964677242993979.234.56616"
_events: Object
_loaded: true
dirty: false
hasChildren: true
id: 1
parent: ()
parentId: null
parentIdField: "parentId"
uid: "1ca6302c-b1ad-493f-b002-d2032a548a80"
__proto__: i.extend.i


//child element
C.define.init
PartExamined: "test2"
SeriesInstanceUid: "1.3.6.1.4.1.30071.8.56809868014.4964677242993979.234.56617"
_events: Object
_loaded: true
dirty: false
hasChildren: false
id: 2
parent: ()
parentId: 1
parentIdField: "parentId"
uid: "953bc7a7-e5e8-4f26-a120-b13402c6cce4"
__proto__: i.extend.i

诸如 parent: ()、parentIdField: "parentId"、_loaded: true、dirty: false、hasChildren: true 等属性由 TreeListDataSource 添加。

这是正确的数据格式吗?因为 TreeList 显示“没有可显示的记录”

谁能帮我解决这个问题吗?

已更新 以下是为 treeList 创建的 Angular 指令的链接:http://jsfiddle.net/yuqorcvL/15/

该指令仍然不起作用。任何帮助将不胜感激。

谢谢。

最佳答案

您应该在 scope.treeListOptions.dataSource 中添加一个架构

schema: {
                        model: {
                            id: "EmployeeID",
                            parentId: "ReportsTo",
                            fields: {
                                ReportsTo: { field: "ReportsTo",  nullable: true },
                                EmployeeID: { field: "EmployeeId", type: "number" },
                                Extension: { field: "Extension", type: "number" }
                            },
                            expanded: true
                        }
                    }

that example在 Kendo 文档

关于angularjs - Kendo treeList 数据源 - 不与远程数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32777830/

相关文章:

javascript - 一次性隐藏/显示剑道网格​​中的所有列

c# - 在 asp.net 中使用默认属性创建剑道网格

jquery - 通过使用kendo在子网格中选择一行来将记录添加到父网格

javascript - 渴望在 Rails 中为 AngularJS 加载 HTML/erb 模板

javascript - 将 <a href> 设置为变量

kendo-ui - 如何将 KendoDropDownList 所选索引重置回 -1(未选择任何内容)

mvvm - 剑道 knockout 下拉列表更改事件未触发

javascript - Angularjs 错误 : [$injector:modulerr] http://errors. angularjs.org/1.4.7/$injector/modulerr?p0

angularjs - 在 AngularJS 中将表单数据发送到服务器

javascript - 我有这些 Kendo 单选按钮,它们仅选择第一个单选按钮值