2013-03-26 16 views
25

Sto usando il pulsante angolare in un ng-grid. Ho bisogno di sapere come posso identificare quale pulsante è stato cliccato all'interno della griglia.AngularJS ng-grid con pulsante personalizzato

immagino parte della complessità è che il pulsante viene premuto prima che sia selezionata la riga (solo la mia analisi, probabilmente non aiuta con la soluzione :)

un'istantanea di come la griglia appare

ng-grid

a plunker che illustra il problema here

risposta

26

sono stato in grado di trovare il modo di risolvere la mia domanda, in fondo passano in "riga" come argomento sulla vostra funzione per ng-click. ng-click = "salva (riga)"

Prima

.. ng-click="edit(selectedItem)" >Edit</button> ' 

Dopo

.. ng-click="edit(row)" >Edit</button> ' 

Ho aggiornato il plunker here in modo da riflettere la stessa

row.entity mi darà l'entità vincolato a questa riga della griglia

+0

Perfetto, grazie! Dove hai trovato informazioni sull'oggetto entità? –

+0

Mi dispiace, ho perso un po 'il contatto con AngularJS, tuttavia ricordo di aver cercato su qualche blog e poi di avere la stessa query senza risposta, sarebbe bello che qualcuno potesse aggiungere alla risposta – Sudarshan

+3

@Sudarshan Sai come per evitare che la riga venga selezionata quando si preme il pulsante "modifica"? –

5

@Shai Aharoni È possibile evitare che la riga venga selezionato passando $ evento come primo argomento al gestore clic:

.. ng-click="edit($event, row)">Edit</button> 

e quindi chiamando stopPropagation() sull'evento dall'interno del gestore.

$scope.edit = function(event, row) { event.stopPropagation(); }