Я ищу два дня и не могу найти, как получить доступ к компоненту actioncolumn
(НЕ html) в rowselect. Мне нужно установить событие при щелчке значка, используя технику взаимодействия компонентов Saki (источник). Моя колонка выглядит так:
Я нашел способ показать/скрыть кнопки при выборе строки изменения (этот код используется в GridPanel
):
sm: new Ext.grid.RowSelectionModel({
singleSelect: true,
listeners: {
beforerowselect: function(grid, rowIndex, record) {
// 7 is the last cell index
var cell = grid.grid.getView().getCell( rowIndex, 7 );
//select icons in cell
var icons = Ext.DomQuery.select('.x-action-col-icon', cell);
//for each DOM element
Ext.each(icons, function(icon, index) {
currentIcon = Ext.get(icon);
//if not 1st button
if (index !== 0) {
//Delete class that hides. Class 'x-hidden' also works
currentIcon.removeClass('x-hide-display'); //show icon
}
});
},
rowdeselect: function(grid, rowIndex, record) {
// 7 is the last cell index
var cell = grid.grid.getView().getCell( rowIndex, 7 );
//select icons in cell
var icons = Ext.DomQuery.select('.x-action-col-icon', cell);
//for each DOM element
Ext.each(icons, function(icon, index) {
currentIcon = Ext.get(icon);
//if not 1st button
if (index !== 0) {
//Delete class that hides. Class 'x-hidden' also works
currentIcon.addClass('x-hide-display'); //show icon
}
});
}
}
});
Ok. Следующий. Я хочу показать другое окно при нажатии (установить событие щелчка). Но я не знаю, как получить доступ от Window
/Viewport
:
//get items
this.loanGrid = this.items.itemAt(0);
this.documentsGridWindow = this.items.itemAt(2);
//add events
this.loanGrid.on ({
scope: this,
afterrender: function() {
selModel = this.loanGrid.getSelectionModel();
selModel.on({
scope: this,
rowselect: function (grid, rowIndex, keepExisting, record) {
//HOW TO GET actioncolumn 2nd button here???
}
});
}
});
Я также пытался установить id
на этот значок на beforerowselect
, но на rowselect
этот код Ext.getCmp('icon-id')
возвращает undefined
. Мне тоже не помогают функции up()
и down()
=(
Помогите, пожалуйста! знак равно
p.s. Печально, но Ext.ComponentQuery
работает только с ExtJS 4.
cellclick
не слушает события клавиатуры (клавиши вверх и вниз), аrowselect
слушает. - person Sogl   schedule 05.05.2016