2011-12-13 57 views
0

我试着使用此代码来识别柱获得的细胞IM单击列标题了,但是我没有找到正确的方法去做获取有关extjs4电网的头名

眼下,即时通讯:

if (position.column == 5 /*this is column name*/) 

显然这是一个不好的选择,因为网格上的任何变化都会对代码产生影响。

再次感谢您的帮助

回答

1

假设你使用的是Ext.Grid.Panel。有一个列数组可以被索引到给你列定义。 “文本”属性将包含显示的列名称。

alert(gridPanel.columns[0].text); //Alerts the 1st columns' header text. 

如果这不能回答你的问题,多一点上下文会有帮助。你在哪种情况下捕获了你的位置?

如果你想确定一个更好的方式来获得你的列位置设置网格的初始配置selType属性'cellmodel'会给你一个Ext.selection.CellModel选择模型的选择事件会给你当前的单元格位置(col,row )。

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); 
    }); 
+0

你的答案帮了我很多,我只需要改变[position.column]的te [0]就可以找到正好点击列的标题 – Beoulve

0

最好的方法可能取决于其中的代码,但这里是从CellEditing插件一些代码,这可能是一个良好的开端:

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

从那里,text看起来会起作用,如果您在列中设置该功能,您也可以使用itemId