EXTJS中的Ext.grid.Panel点击时获取行列和当前点击单元格数据,所有代码均已测试。
创建一个gridpanel的方式如下
gridAVS = Ext.create('Ext.grid.Panel', {
id: 'av_Grid',
store: avStore,
columnLines: true,
columns: girdColumns,
listeners: {
cellclick: function (grid, rowIndex, columnIndex, e) {
var fileName = grid.getHeaderAtIndex(columnIndex).dataIndex;//列名
var data = e.get(fileName);//单元格value
var list = ['1', '2', '3', '4', '5', '6', '7', '8', 'S', 'Q'];
if (list.indexOf(data) >= 0) {
var flightdataNum = grid.getHeaderAtIndex(0).dataIndex;//当前行的第一列列名
var segmentNum = grid.getHeaderAtIndex(1).dataIndex;
var flightNONum = grid.getHeaderAtIndex(2).dataIndex;
var flightDate = e.get(flightdataNum);//当前行的第一列列值
var segment = e.get(segmentNum);
var flightNO = e.get(flightNONum);
updateData(fileName, flightDate, segment, flightNO, data);
}
}
}
});
cellclick代表当前单元格点击时的事件,grid代表整个表格,rowIndex,columnIndex顾名思义代表行和列的行数,这其中
grid.getHeaderAtIndex(columnIndex).dataIndex;//获取当前点击单元格的列的列名。
var data = e.get(fileName);//当前点击的单元格的value值
var flightdataNum = grid.getHeaderAtIndex(0).dataIndex;//当前行的第一列列名
var flightDate = e.get(flightdataNum);//当前行的第一列列值