如何在ng网格中以编程方式取消选择angularjs中的行

时间:2014-07-25 15:49:35

标签: javascript angularjs

我有一个ng-grid,它允许多个选择。

执行保存操作后,我想取消选择所选行。

我尝试过像this.selectedItems = []这样的事情。

但是,当我这样做时,如果我稍后在ng-grid中选择一行,它就不会绑定到this.selectedItems。 相反,它只是一个空数组。

我的问题是保存,我希望能够取消选择所选行。之后,我选择的任何行都应该绑定到this.selectedItems。

以下是我对Grid选项的看法。

非常感谢任何想法和建议。

this.$scope.gridOptions = {
      data: 'myData',
      enablePaging: true,
      showFooter: true,
      totalServerItems: 'totalServerItems',
      pagingOptions: this.$scope.pagingOptions,
      sortInfo: this.$scope.sortOptions,
      useExternalSorting: true,
      selectedItems: this.selectedItems,
      multiSelect: true
}

6 个答案:

答案 0 :(得分:3)

以下内容对我有用:

Plunker

首先你需要存储gridApi:

$scope.gridOptions.onRegisterApi = function (gridApi) {
    $scope.gridApi = gridApi;
}; 

然后你可以使用:

$scope.unSelectAll = function(){
    $scope.gridApi.selection.clearSelectedRows();
}

答案 1 :(得分:1)

我实际上遇到了同样的问题,在查看了ng-grid的代码之后,我已经到了解决方案

$scope.gridOptions.$gridScope.toggleSelectAll(false, true);

我现在不记得参数的细节,对不起......

答案 2 :(得分:1)

  1. $scope.gridOptions.$gridScope.toggleSelectAll(false, false); //注意:false,false
  2. this.selectedItems.length =0
  3. 他们都为我工作。

答案 3 :(得分:0)

而不是

this.selectedItems = []

DO

this.selectedItems.length =0

答案 4 :(得分:0)

这对我有用!!

一项:

 var index = row.rowIndex; //selected row index
  vm.expenseDataGridOptions.selectItem( index , false)

答案 5 :(得分:-1)

只需使用

$scope.gridOptions.selectAll(false);

这适合我。