2011-12-08 19 views
8

ExtJS में 3.x ग्रिड पैनल घटक cellclick, cellcontextmenu, celldblclick, और cellmousedown सहित कोशिकाओं के लिए bindable घटनाओं था, और इन घटनाओं पर श्रोताओं दोनों rowIndexऔर सेल कि गतिविधि सक्रिय की colIndex पारित किए गए।ExtJS 4 - ग्रिड सेल घटनाएं?

4.x में ये घटनाएं चली गईं, केवल आइटम * घटनाएं हैं (यानी itemclick) लेकिन ये घटनाएं पूरी तरह से ग्रिड की पंक्तियों के लिए आग लगती हैं और इसलिए केवल पंक्ति की अनुक्रमणिका को पारित किया जाता है।

क्या यह निर्धारित करने का कोई तरीका है कि इन घटनाओं का उपयोग करके कौन से कॉलम पर क्लिक किया गया था, या क्या श्रोताओं को कोशिकाओं को जोड़ने का एक वैकल्पिक तरीका है?

उत्तर

9

मुझे लगता है कि आपके प्रश्न की कुंजी ग्रिड के लिए चुने गए चयन मॉडल में निहित है। डिफ़ॉल्ट पंक्ति चयनकर्ता है इसलिए आइटम चयन घटनाएं पंक्तियों पर चलती हैं। यहां सेल चयनकर्ता एपीआई की जाँच करें: http://docs.sencha.com/ext-js/4-0/#!/api/Ext.selection.CellModel-event-select

+0

सही समझ में आता है, धन्यवाद! –

2
(ExtJS 4,1)

तुम भी ग्रिड के देखने के uievent (गैर-दस्तावेजी) पर हुक सकता है:

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

onUIEvent: function (aType, aView, aCell, aRecordIndex, aCellIndex, aEvent) 
{ 
    console.log(aRecordIndex + ' : ' + aCellIndex); 
}, 
संबंधित मुद्दे