在 UI-grid 中的“全选”复选框,当选中时,选择在当前页面以及其他页面中可见的所有记录。
问题 - 我们可以通过什么方式选择仅显示在当前页面中的行。
笨蛋 http://plnkr.co/edit/gHiER0A2Oaia4HMWChcG?p=preview
尝试了 api $scope.gridApi.selection.selectAllVisibleRows();
但它不选择仅显示在当前页面中的行。如果您单击“选择可见行”按钮并移至下一页,则那里的记录也会被选中。
api selectAllVisibleRows
的其他细节
在 ui-grid 函数 selectAllVisibleRows 中选中时。 row.visible
为所有页面的所有行
返回true
。
selectAllVisibleRows: function (evt) {
if (grid.options.multiSelect === false) {
return;
}
var changedRows = [];
grid.rows.forEach(function (row) {
if (row.visible) {
if (!row.isSelected && row.enableSelection !== false){
row.setSelected(true);
service.decideRaiseSelectionEvent( grid, row, changedRows, evt );
}
} else {
if (row.isSelected){
row.setSelected(false);
service.decideRaiseSelectionEvent( grid, row, changedRows, evt );
}
}});
service.decideRaiseSelectionBatchEvent( grid, changedRows, evt );
grid.selection.selectAll = true;
},
最佳答案
尝试使用for 循环 这是plunker link !
关于javascript - UI-Grid - 如何使用 selectAll 复选框选择当前页面中显示的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39123408/