在extjs4网格上获取头名称

在extjs4网格上获取头名称,extjs4,Extjs4,我正在尝试获取我单击的单元格的列标题,但我没有找到正确的方法 现在,我正在使用此代码来识别列: if (position.column == 5 /*this is column name*/) 显然,这是一个错误的选择,因为网格上的任何更改都会对代码产生影响 再次感谢您的帮助,假设您使用的是Ext.Grid.Panel。有一个列数组,可以将其编入索引以提供列定义。“text”属性将包含显示的列名 alert(gridPanel.columns[0].text); //Alerts the

我正在尝试获取我单击的单元格的列标题,但我没有找到正确的方法

现在,我正在使用此代码来识别列:

if (position.column == 5 /*this is column name*/) 
显然,这是一个错误的选择,因为网格上的任何更改都会对代码产生影响


再次感谢您的帮助,假设您使用的是Ext.Grid.Panel。有一个列数组,可以将其编入索引以提供列定义。“text”属性将包含显示的列名

alert(gridPanel.columns[0].text); //Alerts the 1st columns' header text.
如果这不能回答你的问题,多了解一些情况会有帮助。在哪种情况下,您将占据您的位置

如果您试图确定获取列位置的更好方法,则将网格的初始配置selType属性设置为“cellmodel”将为您提供一个选择模型,其select事件将为您提供当前单元格位置(col,row)


最好的方法可能取决于代码的位置,但下面是来自
CellEditing
插件的一些代码,这可能是一个很好的起点:

editColumnHeader=grid.headerCt.getHeaderAtIndex(position.column);

从这里开始,
text
看起来会起作用,如果您在列中设置它,您也可以使用
itemId

您的回答对我帮助很大,我只需更改[position.column]的te[0]就可以准确地找到我单击的列的标题
var grid = Ext.create('Ext.grid.Panel', {
        store: store,
        columns: [{
                id: 'common',
                header: 'Collumn 1'
            }, {
             header: 'Column 2'
            }
        ],
        selModel: {
            selType: 'cellmodel'
        }
    });
    grid.getSelectionModel().addListener('select', function(selModel, record, row, column, eOpts){
        alert(grid.columns[column].text);
    });