使用复选框替换角度UI-GRID选择RowButton

时间:2016-04-09 23:01:47

标签: angularjs checkbox angular-ui-grid

我需要用常规复选框而不是默认的OK按钮替换UI网格选择标题内容。  我能够插入复选框,但我无法根据列标题选中复选框来控制行复选框值。  要求:选中列标题复选框后,应选中所有行复选框。   如果取消选中行复选框,则应取消选中列标题复选框。

选择/取消选中复选框可以,但我应该能够根据列标题复选框控制行复选框。

我在这里努力争取范围。任何帮助/建议表示赞赏。

Plunker Link:http://plnkr.co/edit/Ji7gLbfQTohnEj04mYFM?p=preview

 $templateCache.put('ui-grid/selectionRowHeaderButtons',
    "<div class=\"ui-grid-selection-row-header-buttons \" ng-class=\"{'ui-grid-row-selected': row.isSelected}\"><input style=\"margin: 0; vertical-align: middle\" type=\"checkbox\" ng-model=\"rowSelected\" ng-click=\"grid.appScope.clickConditionRow(rowSelected) && selectButtonClick(row, $event)\">&nbsp;</div>"
  );

1 个答案:

答案 0 :(得分:5)

以下是修复http://plnkr.co/edit/aBmgnNXQ4fL0npJHzsfG?p=preview

标题复选框模板:

<div class="ui-grid-selection-row-header-buttons" ng-class="{'ui-grid-all-selected': grid.selection.selectAll}" ng-if="grid.options.enableSelectAll"><input style="margin: 0; vertical-align: middle" type="checkbox" ng-model="grid.selection.selectAll" ng-click="grid.selection.selectAll=!grid.selection.selectAll;headerButtonClick($event)"></div>

行复选框模板:

<div class="ui-grid-selection-row-header-buttons" ng-class="{'ui-grid-row-selected': row.isSelected}" ><input style="margin: 0; vertical-align: middle" type="checkbox" ng-model="row.isSelected" ng-click="row.isSelected=!row.isSelected;selectButtonClick(row, $event)">&nbsp;</div>