我一直在尝试获取网格上单击的单元格的值。
cellDblClick: function(self, td, cellIndex, record, tr, rowIndex, e, eOpts)
我知道我可以获取记录数据,但我需要列的名称来获取数据的值。
record.data["name_of_column"]
获取点击单元格在网格上的价值的方法是什么? 是否可以在网格上获取单击单元格的列名?
有人可以为我揭光吗?
N.B。 我正在使用extjs 4.2.1
答案 0 :(得分:15)
您可以使用gridclick侦听器的gridConfig,如下所示。
viewConfig : {
listeners : {
cellclick : function(view, cell, cellIndex, record,row, rowIndex, e) {
var clickedDataIndex = view.panel.headerCt.getHeaderAtIndex(cellIndex).dataIndex;
var clickedColumnName = view.panel.headerCt.getHeaderAtIndex(cellIndex).text;
var clickedCellValue = record.get(clickedDataIndex);
}
}
}
答案 1 :(得分:0)
您可以使用:
onGridpanelCellDblClick: function(tableview, td, cellIndex, record, tr, rowIndex, e, eOpts) {
var clickedColumnName = record.getFields()[cellIndex-1].getName();
var clickedCellValue = record.get(clickedColumnName);
}
单元格索引从1开始,因此您必须对record.getFields()返回的数组使用cellIndex-1。
答案 2 :(得分:0)
您可以使用:
cellclick: function( thisGrid, td, cellIndex, record, tr, rowIndex, e, eOpts )
{
console.log('td/cell value: ', td.innerText);
},