ExtJS4:如何以当前顺序获取所有网格列?

ExtJS4:如何以当前顺序获取所有网格列?,extjs,Extjs,当我使用grid.columns时,它会返回网格中的所有列(可见或不可见),但不是当前顺序 然后我尝试了grid.getView().getGridColumns(),它返回了当前顺序的列,但只返回了可见的列 如何按当前顺序获取所有列,可见列和不可见列?您可以尝试 grid.down('headercontainer').getGridColumns(); 返回可见列和不可见列 grid.down('headercontainer').getVisibleGridColumns(); 只返回

当我使用
grid.columns
时,它会返回网格中的所有列(可见或不可见),但不是当前顺序

然后我尝试了
grid.getView().getGridColumns()
,它返回了当前顺序的列,但只返回了可见的列

如何按当前顺序获取所有列,可见列和不可见列?

您可以尝试

grid.down('headercontainer').getGridColumns();
返回可见列和不可见列

grid.down('headercontainer').getVisibleGridColumns();

只返回可见列

我遇到了相反的问题,因为我只需要可见列。对于所有列,grid.columns似乎是最简单的方法(从2.3开始)。然后,我将它们按名称放入映射中,因为我需要访问行单元格:

grid.down('headercontainer').getVisibleGridColumns();
var headerColumns = myGrid.columns;
var headerMap = {};
//put them in a map of name, index
Ext.each(headerColumns, function(headerColumn, i) {
  headerMap[headerColumn.dataIndex] = i;
});