2016-08-24 4 views
1

"모두 선택"확인란을 선택하면 현재 페이지와 다른 페이지에 표시되는 모든 레코드를 선택합니다.UI 그리드 - selectAll을 사용하여 현재 페이지에 표시된 레코드를 선택하는 방법

질문 - 현재 페이지에만 표시되는 행을 선택할 수있는 방법. http://plnkr.co/edit/gHiER0A2Oaia4HMWChcG?p=preview

plunker는 API $scope.gridApi.selection.selectAllVisibleRows();을 시도하지만 그것은 단지 현재 페이지에 표시되는 행을 선택하지 않습니다. "보이는 행 선택"버튼을 클릭하고 다음 페이지로 이동하면 해당 레코드도 선택됩니다. API를 selectAllVisibleRows

기타 세부 사항은 UI를 그리드 기능 selectAllVisibleRows 내부 확인합니다. row.visibleall the rows across all pages에 대해 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; 
}, 

답변

1

당신이 plnkr.co/edit/sDOOac349mL84tFh6nQ9?p=preview

아래에 주어진 plunker 같은 for 루프를 사용하여 시도 할 수