【发布时间】:2014-09-10 13:32:06
【问题描述】:
我正在尝试让我的网格(由 angular 指令创建)填充数据,但它没有填充。
这是我的网格声明:
<div id="dayTypesGrid" kendo-grid k-options='dayTypesGridOptions'></div>
这是来自我的角度控制器的代码:
$scope.dayTypesGridOptions = {
schema: {
model: {
id: "description",
fields: {
description: { editable: false, nullable: false },
numberOfDays: { type: "number", validation: { required: true, min: 0} }
}
}
},
columns: [{
field: "description",
title: "Day Type"
}, {
field: "numberOfDays",
title: "Number of Days"
}]
};
到目前为止一切顺利。网格被实例化,我看到了两列。我的角度控制器执行我的数据获取调用,并将结果存储在数组 $scope.viewModel.dayTypes 中。 使用浏览器开发工具,我可以看到 $scope.viewModel.dayTypes 确实包含 7 条记录的数组。 我现在想在网格中显示这 7 条记录,我这样做如下:
var ds = new kendo.data.DataSource({data: $scope.viewModel.dayTypes});
$('#dayTypesGrid').data('kendoGrid').dataSource = ds;
在最后一行代码之后,我的网格仍然是空的。使用浏览器开发工具,我看到 ds.data.length 为零。
我错过了什么?
【问题讨论】:
-
我绑定到数组(而不是绑定到定义了传输和读取方法调用的数据源)的原因是因为 dayTypes 数组属性所属的 viewModel 有很多绑定到页面上其他控件的其他属性。所以这不是 dataSource 需要通过 http 调用来检索自己的数据的场景。
标签: angularjs kendo-ui kendo-grid