2011-12-08 32 views
8

Izgara Paneli bileşeni cellclick, cellcontextmenu, celldblclick ve cellmousedown dahil hücreler için bağlanabilir olayları vardı 3.x ve bu olaylar üzerinde kullanıcı olayı ateşledi hücrenin hem rowIndexvecolIndex geçirildi.ExtJS 4 - Izgara hücre olayları? ExtJS yılında

4.x'de bu olaylar kaybolur, yalnızca öğe * olayları vardır (örn. itemclick), ancak bu olaylar gridlerin satırlarını bir bütün olarak tetikler ve bu nedenle yalnızca satırın dizinini geçirir.

Bu olayları kullanarak hangi sütunun tıklandığını belirlemenin bir yolu var mı, yoksa dinleyicileri hücreye yerleştirmenin alternatif bir yolu var mı?

cevap

9

Sorunun anahtarının, kılavuz için seçilen Seçim Modeli'nde olduğunu düşünüyorum. Varsayılan, satır seçicidir, böylece öğe seçme olayları satırlarda çalışır. Burada hücre seçici API göz atın:

Ayrıca ızgaranın görüş (belgesiz) uievent üzerine kanca olabilir

http://docs.sencha.com/ext-js/4-0/#!/api/Ext.selection.CellModel-event-select

+0

çok mantıklı, teşekkürler! –

2

(ExtJS 4.1) :

grid.getView().on('uievent', this.onUIEvent, this); 

onUIEvent: function (aType, aView, aCell, aRecordIndex, aCellIndex, aEvent) 
{ 
    console.log(aRecordIndex + ' : ' + aCellIndex); 
},