2016-06-01 24 views
1

Ich habe ein Angular Js Ui-Grid erstellt, und die letzte Spalte besteht aus einer Schaltfläche. wenn ich auf diese Schaltfläche klicke, muss ich die Daten jeder Zelle dieser Zeile abrufen. Wenn mir jemand helfen kann, das herauszufinden, wäre ich dankbar.AngularJs - So erhalten Sie Zellendaten der angeklickten Zeile

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

Antwort

1

hinzufügen row.entity auf Ihre Template-Funktion,
dies wird Ihnen den Zugriff auf die Objekteigenschaften (row-Zellen):

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

Stellen Sie sicher, Ihre Funktion in der conteroller erhält einen Parameter:

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

das ist genau ich wollte, danke sooo viel –

+0

Kein Problem, ich empfehle, ihre Dokumentation zu betrachten, sie haben eine Menge toller Funktionen. http://ui-grid.info/docs/#/api – AranS