Obtenir des lignes de sélection de ng-grid?
comment créer (ou Accéder) un tableau de lignes sélectionnées dans mon ng-grid ?
Documentation (passez à" Options de grille")
id | default value | definition
-----------------------------------------------
selectedItems | [] | all of the items selected in the grid.
In single select mode there will only
be one item in the array.
de l'index.html
<body ng-controller="MyCtrl">
<div class="gridStyle" ng-grid="gridOptions"></div>
<h3>Rows selected</h3>
<pre>{{selectedItems}}</pre>
</body>
principal.js
var app = angular.module('myApp', ['ngGrid']);
app.controller('MyCtrl', function($scope) {
$scope.myData = [{name: "Moroni", age: 50},
{name: "Tiancum", age: 43},
{name: "Jacob", age: 27},
{name: "Nephi", age: 29},
{name: "Enos", age: 34}];
$scope.gridOptions = { data: 'myData' };
});
Plnkr pour le code (et exécuter)
5 réponses
basé sur le doc, selectedItems
devrait être une propriété de $scope.gridOptions
, alors essayez ceci:
contrôleur
$scope.gridOptions = { data: 'myData', selectedItems: [] };
HTML
<pre>{{gridOptions.selectedItems}}</pre>
Vous pouvez obtenir les éléments sélectionnés de ng-grille 2.x de:
$scope.gridOptions.$gridScope.selectedItems
dans la version 3 vous pouvez faire:
$scope.gridOptions.onRegisterApi = function(gridApi){
$scope.gridApi = gridApi;
$scope.mySelectedRows=$scope.gridApi.selection.getSelectedRows();
}
se référer à http://ui-grid.info/docs/#/api/ui.grid.selection.api:PublicApi pour plus d'information.
pour 3.0, vous pouvez capturer les lignes comme elles sont sélectionnées comme ceci:
$scope.gridOptions.onRegisterApi = function(gridApi){
//set gridApi on scope
$scope.gridApi = gridApi;
gridApi.selection.on.rowSelectionChanged($scope,function(row){
var msg = 'row selected ' + row.isSelected;
$log.log(msg);
});
};
plus d'informations ici: http://ui-grid.info/docs/#/tutorial/210_selection
j'essaie de lire une liste de lignes sélectionnées pour le moment. L'option semble avoir déplacé, je peux maintenant dans:
$scope.gridOptions.ngGrid.config.selectedItems
Il semble être en lecture seule