2016-10-21 9 views
1

Я использую ag-сетку в проекте anugular1.ag-grid: предварительно выбрать следующую строку из текущей выбранной строки

Я пытаюсь получить кнопку «Далее», чтобы выбрать следующую строку в моей сетке.

$scope.NextButtonClick = function(){ 
    console.log("next button clicked"); 
    var selectedNodes = $scope.gridOptions.api.getSelectedNodes(); 
    var indexCurrentSelection = selectedNodes[0].childIndex; 

Я надеялся, что для функции, как

var nextNode = MagicalStoreOfallNodes.getNodeByIndex(indexCurrentSelection + 1); 
    nextNode.setSelected(true, true) 

Но я ничего не могу найти в документации https://www.ag-grid.com/javascript-grid-model/

Любая помощь наиболее ценится!

enter image description here

ответ

2

Предполагая, что ваш rowSelection:'single (я думаю, ваш вопрос не сделали бы смысл, если бы это было «множественным»), вы можете сделать это:

$scope.nextRecord = function() { 
    let selectedNodes = $scope.gridOptions.api.getSelectedNodes(); 
    if (selectedNodes && selectedNodes.length === 1) { 
     let selectedNode = selectedNodes[0]; 
     $scope.gridOptions.api.forEachNode((node) => { 
      if (node.childIndex === (selectedNode.childIndex + 1)) { 
       node.setSelected(true); 
       return; 
      } 
     }); 
    } 
}; 

Но следует помнить, что это простая версия из этого - если вы используете фильтрацию, вам может потребоваться использовать другие версии forEach, или если вы используете группировку, вам может потребоваться проверить, является ли ее родителем или нет, и действовать соответственно

Смежные вопросы