2012-12-10 17 views
7

Zrobiłem powodzeniem dodać wiersz podwójnego słuchacza zdarzenia kliknięcia do mojego siatki przez:ExtJS Siatka - Kliknij detektor zdarzeń

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

Teraz trzeba uzyskać dokładną wartość w trzeciej kolumnie w wybranym wierszu, w jaki sposób Robię to ?

EDIT

Ok znalazłem:

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

ale wydaje się wynikiem record.get('name') nie jest tekst! jest obiektem, ale nie mogę go obsłużyć tak, jakby był tekstem. jakiekolwiek ciało ma jakiś pomysł?

EDIT

Na przykład, jeśli przekazać nazwę funkcji wyszukiwania: Search(record.get('name')); to nie będzie działać. ale jeśli przekażę to w ten sposób: Search('Mike'); to działa!

+0

Czy wiesz, która kolumna jest związana na trzeciej? IE, czy znasz już dataIndex? –

+0

właśnie zaktualizowałem mój post. Dzięki – Noon

+0

Jesteś pewien? Jaki obiekt daje 'record.get()'? Jeśli twoje dane są ciągami, dostaniesz ciąg znaków. Czy możesz to sprawdzić w debugerze? – gideon

Odpowiedz

3

Upewnić się, że

  • Imię nieruchomość jest naprawdę małe 'name', a nie 'Nazwa'
  • Drukuj wartość pola do konsoli z console.log(record.get('name')) lub użyj bezpośredniego dostępu, wpisując console.log(record.data.name) lub console.log(record.data['name']). Zasadniczo wszyscy powinni zwrócić to samo.
  • rzucić wartość ciąg zastosować '' w locie jak var myVar = 2; myVar = myVar + ''; // now print 20 as string
+0

Wielkie dzięki! ostatni punkt był tym, czego potrzebowałem. – Noon

+0

@Noon Nie ma za co :) – sra

0

Spróbuj z,

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

Ten błąd: 'Obiekt [obiekt obiektu] nie ma metody 'getSelected'' – Noon

+0

@Noon Nie możesz wywołać' getSelected() 'przed 4.x. Zamiast tego użyj 'getSelection()'. Ale robienie tego bez mutliselection włączonego w przypadku zdarzenia kliknięcia nie jest zalecane, jako drugi argument już masz rekord! – sra

+0

@sra thanks. Zaktualizowałem mu post byś spojrzał proszę – Noon

Powiązane problemy