2012-12-10 18 views
7

ho aggiunto con successo un doppio ascoltatore click evento fila alla mia griglia:ExtJS Grid - Clicca listener di eventi

listeners : { 
    itemdblclick: function(dv, record, item, index, e) { 
     alert('working'); 
    } 
}, 

Ora, ho bisogno di ottenere l'esatto valore in terza colonna alla riga selezionata, come può Lo faccio ?

EDIT

Va bene lo giudicano:

listeners: { 
itemclick: function(dv, record, item, index, e) { 
alert(record.get('name'));          
} 

ma sembra che il risultato di record.get('name') non è un testo! è un oggetto ma non riesco a gestirlo come se fosse un testo. qualsiasi corpo ha qualche idea?

EDIT

Per esempio, se mi passate il nome alla funzione di ricerca: Search(record.get('name')); questo non funzionerà. ma se lo passo in questo modo: Search('Mike'); funziona!

+0

Volete sapere quale colonna è legato al terzo? IE, conosci già il dataIndex? –

+0

ho appena aggiornato il mio post. Grazie – Noon

+0

Sei sicuro? Quale oggetto ti dà 'record.get()'? Se i tuoi dati sono una stringa, ti daranno una stringa. Puoi ispezionarlo in un debugger? – gideon

risposta

3

Assicurarsi che

  • tuo nome proprietà è davvero minuscola 'nome' e non 'Nome'
  • Stampare il valore del campo nella console con console.log(record.get('name')) oppure utilizzare l'accesso diretto digitando console.log(record.data.name) o console.log(record.data['name']). Fondamentalmente tutto dovrebbe tornare lo stesso.
  • Per inserire un valore di stringa di applicare '' al volo come var myVar = 2; myVar = myVar + ''; // now print 20 as string
+0

Grazie mille !! l'ultimo punto era quello di cui avevo bisogno. – Noon

+0

@Noon, sei il benvenuto :) – sra

0

Prova con,

listeners: { 
itemclick: function(dv, record, item, index, e) { 
var selectedRec = dv.getSelectionModel().getSelected();   
alert(selectedRec.get('name')); //Will display text of name column of selected record 
} 
+0

ottenuto questo errore: 'Oggetto [oggetto oggetto] non ha metodo 'getSelected'' – Noon

+0

@Noon Non è possibile chiamare' getSelected() 'questo prima di 4.x. Usa invece 'getSelection()'. Ma farlo senza mutliselection attivato in caso di un evento click non è raccomandato, hai già il record come secondo argomento! – sra

+0

@sra grazie. Ho aggiornato il mio post vorrebbe dare un'occhiata per favore – Noon