Мне нужно значение index/index для выбранной строки в ui-grid. Я попытался получить его, используя событие onRowSelectionChange. Но он не смог его получить.UI grid получить выбранный индекс строки
Может ли кто-нибудь иметь представление о том же?
Мне нужно значение index/index для выбранной строки в ui-grid. Я попытался получить его, используя событие onRowSelectionChange. Но он не смог его получить.UI grid получить выбранный индекс строки
Может ли кто-нибудь иметь представление о том же?
В наши дни может быть более элегантное решение, но в версии ui-grid, с которой я работал несколько месяцев назад, я использовал следующую служебную функцию, чтобы получить индекс строки.
getRowIndex: function (row, grid) {
var rowIndex = -1;
for (var i = 0; i < grid.renderContainers.body.visibleRowCache.length; i++) {
if (row.uid === grid.renderContainers.body.visibleRowCache[i].uid) {
rowIndex = i;
break;
}
}
return rowIndex;
}
Вы можете получить ссылку на строку из многих событий, в том числе rowSelectionChanged
события.
Чтобы получить ссылку на сетке ...
$scope.gridOptions.onRegisterApi = function (gridApi) {
$scope.gridApi = gridApi;
}
Позвони
var myIndex = myService.getRowIndex(row, $scope.gridApi.grid);
Обратите внимание, что этот показатель меняется, когда вы повторно рода или изменить данные. Он основан на индексе данных, как видит пользователь.
В контроллере grid_options
комплекте:
onRegisterApi: function(gridApi) {
$scope.gridApi = gridApi;
gridApi.selection.on.rowSelectionChanged($scope,function(row){
var removeRowIndex = $scope.grid_Options.data.indexOf(row.entity);
});
}
$scope.grid_Options.data
фактически данные, которые вы предоставили в сетке.