2016-06-01 4 views
1

J'ai créé une ui-grille Angular Js, et la dernière colonne est composée d'un bouton. lorsque vous cliquez sur ce bouton, j'ai besoin d'obtenir les données de chaque cellule de cette ligne. si quelqu'un peut m'aider à comprendre cela serait apprécié.AngularJs - Comment obtenir les données de la cellule de la ligne cliquée

var removeTemplate = '<input type="button" value="" style="background: url(../../Content/images/del-currency.png);widht:60px;height:30px" ng-click="removeRow()" />'; 
    $scope.selectedCurrencyGrid = { 
        data: 'selectedCurrencies', 
        multiSelect: false, 
        selectedItems: $scope.selectedCurrencyRow, 
        enableColumnResize: false, 
        enableRowSelection: true, 
        columnDefs: [ 
          { field: 'Name', displayName: 'Name' }, 
          { 
           field: 'IsDefault', 
           displayName: 'Default', 
           cellTemplate: '<input type="radio" name="radAnswer" ng-model="row.entity.IsDefault">' 
          }, 
          { name: 'Photo', field: 'photoP', displayName: '', cellTemplate: removeTemplate } 
        ] 

       }; 


$scope.removeRow = function() { 
      var index = this.row.rowIndex; 
      //need to get cell data of selected row 
     }; 

enter image description here

Répondre

1

Ajouter row.entity à votre fonction de modèle,
cela vous donnera accès aux propriétés de l'objet (cellules de ligne):

<input type="button" value="" style="background: url(../../Content/images/del currency.png);widht:60px;height:30px" ng-click="removeRow(row.entity)" />';

Assurez-vous que votre fonction dans la Conteroller obtient un paramètre:

$scope.removeRow = function (selectedRowObject) { 
      //Your logic... 
     }; 
+0

c'est exactement ce que je voulais, merci beaucoup –

+0

Pas de problème, je recommande de regarder leur documentation, ils ont beaucoup de fonctionnalités. http://ui-grid.info/docs/#/api – AranS