使用ng-repeat进行ng-grid删除?

时间:2014-07-10 18:20:45

标签: javascript angularjs

这是我当前的表格,暂时忽略全部选择按钮。enter image description here

在进行研究和谷歌搜索后,大多数涉及从网格中删除的解决方案在每一行都有单独的删除按钮。出于设计/风格的目的,我反对它。问题出现在app-controller内的删除按钮调用超出ng-grid范围的删除功能

  div class="btn-group">
  <button class="my-btn btn-default button-row-provider-medical-services" ng-click="deleteProviderMedicalService(id,$index)">Delete</button>
  </button>
</div>

<div class="gridStyle ngGridTable" ng-grid="gridOptions">
</div>

该按钮有2个参数,一个用于从数据库中删除id,另一个是要删除的行。仅在使用ng-repeat显示数据时直接向前。

我的问题是,是否可以使用ng-repeat访问ng-grid数据?检查jdom显示使用ng-repeat呈现行和列,表本身位于ng-Viewport ng-scope类下。

1 个答案:

答案 0 :(得分:0)

您可以从ngGrid的selectedItems属性中获取所选对象。此外,您可以从选定对象itseld及其数据源数组中的索引获取id,并将此数据传递给每个所选项目的deleteProviderMedicalService函数。

var selectedItems = [];

$scope.gridOptions = {
  data: 'myData',
  showSelectionCheckbox: true,
  selectedItems: selectedItems
};

$scope.deleteSelected = function(){
  angular.forEach(selectedItems, 
     function(svc){ $scope.deleteProviderMedicalService(svc.id, myData.ondexOf(svc)); });
};