ExtJS 4 - Сетка событий в ячейках? - PullRequest
8 голосов
/ 08 декабря 2011

В ExtJS 3.x компонент Grid Panel имел привязываемые события для ячеек, включая cellclick, cellcontextmenu, celldblclick и cellmousedown, и слушатели этих событий передавались как rowIndex и colIndex ячейки, которая запустила событие.

В 4.x эти события исчезли, есть только события item * (т.е. itemclick), но эти события срабатывают для строк сетки в целом и, следовательно, передаются только по индексу строки.

Есть ли способ определить, по какому столбцу щелкнули эти события, или есть альтернативный способ присоединения слушателей к ячейкам?

Ответы [ 2 ]

9 голосов
/ 08 декабря 2011

Я думаю, что ключ к вашему вопросу лежит в модели выбора, выбранной для сетки. По умолчанию используется выбор строки, поэтому события выбора элемента работают со строками. Проверьте API селектора ячеек здесь: http://docs.sencha.com/ext-js/4-0/#!/api/Ext.selection.CellModel-event-select

2 голосов
/ 14 августа 2012

(ExtJS 4.1)

Вы также можете подключить (недокументированное) uievent вида сетки:

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

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