是否有任何在Angular Js ng-Grid中加载数据之前/之后调用的CallBack函数?

时间:2013-07-31 13:53:34

标签: javascript angularjs ng-grid

目前我有一个Angular Js Grid,它是分页启用,例如每页5条记录,总记录数为2000,所以All中将有400页。

当处理ng-grid中的分页时,每页指定gridOption数据,这意味着对于第一页,gridOption将是1-5行,用于第二个6-10行,依此类推........

这里我已经通过复选框实现了一个选择功能,因此每当选择一行[checkBox变为选中]并且它存储在selectedItems数组中时我会在另一个网格中显示所选项目......

page 1 where two rows are selected

现在,当我转到第二页[分页]并选择更多这样的行时......

page two here now total three records are selected

真正的麻烦在于,当我再次回到上一页,即第1页时,将不会检查复选框,因为在分页中我们加载数据运行时因此页面显示以下结果...

the selection here disappears due to dynamic nature of pagination

希望你一定明白我的问题......

我需要的是在加载数据之前/之后的回调,以便我可以选择复选框,因为我保留了选择的数量

或者我的问题的任何其他解决方法也会非常有用。

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以将选中的值存储在存储行值的数据模型中吗?然后你回来,它只是通过Angular绑定检查?

我不确定你的设置,但我在类似的情况下这样做。

答案 1 :(得分:0)

我这几天一直在研究这个问题。

虽然我仍然无法在分页中保留选择,但我可以同时清除选择并且#34;取消选择"全选复选框。

allSelected变量未在gridScope中公开,但您可以使用以下代码获取并解决它。

        // Use this to deselect all options.
        $scope.gridOptions.$gridScope.toggleSelectAll(null, false);
        // use this to find the allSelected variable which is tied to the 
        // (the ng-model related to the select all checkbox in the header row)
        var header = angular.element(".ngSelectionHeader").scope();
        // use this to turn off the checkbox.
        header.allSelected = false;
如果我设法重新选择"我会再次跟进。按照记录的方式工作,但现在我可能会对此感到满意。