2015-06-03 2 views
0

Я пытаюсь использовать cellclick в сетке, где на основе определенного столбца я хочу выполнить некоторые операции. Но каждый раз он возвращает неправильный столбец, то есть, если я нажимаю на столбец 0 (первый col), он возвращает следующий столбец.ExtJS 5.0 cellclick event возвращает неверный столбец

cellclick: function(view, td, cellIndex, record, tr, rowIndex, e, eOpts){ 
    console.info(view.getGridColumns()[cellIndex].dataIndex); 
if(view.getGridColumns()[cellIndex].dataIndex === 'someCol'){ 
//do something 
    } 
} 
+0

В настоящее время, ExtJS 5, в случае cellclick cellIndex возвращает индекс с учетом столбцов начинается с 1, 2, 3 ... но индекс столбца начинается с 0,1,2,3. Я добавил обходной путь для использования CellIndex-1, чтобы заставить мой код работать – KavitaC

+0

У вас есть rowexpander или скрытый столбец в вашей сетке? – Yellen

+0

У меня есть одна скрытая колонка, которую я использую для groupBy – KavitaC

ответ

0

View.getGridColumns() возвращает только видимые столбцы. Вместо этого я изменил его на, следующее, и это возвращает все видимые/скрытые столбцы.

Ext.getCmp('gridId').columns[cellIndex].dataIndex 

Спасибо @Yellen за подсказку.

0

Я столкнулся с аналогичной проблемой, когда один из столбцов скрыт. CellIndex превышает видимое количество столбцов.

Кроме того, я использовал

 if(view.getColumnManager().columns[cellIndex].dataIndex.toLowerCase() == 'yourdataindex') { 

// сделать что-то

}