Kendo UI - AngularJS:如何将网格绑定到$ scope上的对象?

时间:2016-03-03 10:58:49

标签: angularjs kendo-ui kendo-grid

我正在尝试将Kendo UI网格绑定到$scope上的对象而不是kendo.data.dataSource。网格显示数据(位于对象中)但如果我更改数据或添加新行,则更改不会反映在$scope对象中。这是为什么?

我真正的问题是,我想展示两个网格顶部和顶部在底部,当用户从顶部网格中选择一行时,底部网格应填充详细信息。但是,这些细节已经被提取并保存在顶部网格的DataSource中(因此没有底部网格的传输部分),因为我希望能够保存批量中的任何更改。

这就是我绑定网格的方式

热门网格

<div kendo-grid="mainGrid"
         k-sortable="true"
         k-editable="true"
         k-selectable="'row'"
         k-filterable="true"
         k-resizable="true"
         k-scrollable='{ "virtual":true }'
         k-on-change="selected = dataItem" 
         k-options="mainGridOptions"
         k-height="165">
    </div>

底部网格

<div kendo-grid="detailGrid"
    k-editable="true"
    k-selectable="'row'"
    k-options="detailGridOptions"
    k-data-source="selected.Details"
    k-height="125"></div>

这就是我将记录添加到底部网格的方法

$scope.detailGrid.dataSource.add();

1 个答案:

答案 0 :(得分:0)

到目前为止,我还没有得到如何将Kendo UI网格绑定到$ scope上的对象。但是,对于我真正的问题,我找到了一个解决方法。

我绑定了子网格的on-save事件,并明确地将当前行标记为脏。

$scope.onDetailGridSave = function () {
   $scope.selected.dirty = true;
};

和HTML

k-on-save="onDetailGridSave()"