grid.getColumnmanager().getColumns() 未在 Ext JS 网格中提供父列
grid.getColumnmanager().getColumns() is not giving parent column in Ext JS grid
我有包含分组列的网格。
我的部分代码如下:
Ext.require([
'Ext.grid.*',
'Ext.ux.grid.FiltersFeature',
'Ext.ux.LiveSearchGridPanel'
...
]);
var filters = {
ftype: 'filters',
encode: false,
local: true
};
var grid = new Ext.create('Ext.ux.LiveSearchGridPanel', {
selType: 'cellmodel',
store: store,
columns:[
{
header: "Column1"
dataIndex: 'Column1'
},{
header: "Column2",
columns : [{
header: "innerColumn1",
dataIndex: 'innerColumn1'
},{
header: "innerColumn2"
dataIndex: 'innerColumn2'
}]
},{
header: "Column3",
dataIndex: 'Column3'
}],
features: [filters]
...
现在,如果我使用 grid.columnManager.getColumns()
它 returns 以下列:
Column1
innerColumn1
innerColumn2
Column3
它不返回 Column2
,它是 innerColumn1
和 innerColumn2
的 parentColumn/groupColumn。我应该使用哪种 Ext Js 方法在 columnList 中获取 Column2
?我正在使用 Ext Js 4.2。任何帮助将不胜感激。
获取所有列的解决方案之一是使用 Ext ComponentQuery。我创建了这个 fiddle。查看 运行 this fiddle.
之后的开发者控制台
获取所有列的最简单查询是:
grid.query('gridcolumn:not([hidden])')// Open fiddle for full example
它只会 return 所有可见的列。您可以根据您的要求更改查询。
例如,要仅获取分组列,您可以使用此
grid.query('gridcolumn[isGroupHeader=true]')
Click here 有关 ComponentQuery 的详细信息。
grid.getColumnmanager().getColumns()
不提供分组列的父列。列管理器仅处理叶列。
在迭代列时,您可以访问 isSubHeader
属性 仅在子摸索列中可用,之后通过 ownerCt
属性 您可以访问父列。
希望这对您有所帮助。
我有包含分组列的网格。
我的部分代码如下:
Ext.require([
'Ext.grid.*',
'Ext.ux.grid.FiltersFeature',
'Ext.ux.LiveSearchGridPanel'
...
]);
var filters = {
ftype: 'filters',
encode: false,
local: true
};
var grid = new Ext.create('Ext.ux.LiveSearchGridPanel', {
selType: 'cellmodel',
store: store,
columns:[
{
header: "Column1"
dataIndex: 'Column1'
},{
header: "Column2",
columns : [{
header: "innerColumn1",
dataIndex: 'innerColumn1'
},{
header: "innerColumn2"
dataIndex: 'innerColumn2'
}]
},{
header: "Column3",
dataIndex: 'Column3'
}],
features: [filters]
...
现在,如果我使用 grid.columnManager.getColumns()
它 returns 以下列:
Column1
innerColumn1
innerColumn2
Column3
它不返回 Column2
,它是 innerColumn1
和 innerColumn2
的 parentColumn/groupColumn。我应该使用哪种 Ext Js 方法在 columnList 中获取 Column2
?我正在使用 Ext Js 4.2。任何帮助将不胜感激。
获取所有列的解决方案之一是使用 Ext ComponentQuery。我创建了这个 fiddle。查看 运行 this fiddle.
之后的开发者控制台获取所有列的最简单查询是:
grid.query('gridcolumn:not([hidden])')// Open fiddle for full example
它只会 return 所有可见的列。您可以根据您的要求更改查询。
例如,要仅获取分组列,您可以使用此
grid.query('gridcolumn[isGroupHeader=true]')
Click here 有关 ComponentQuery 的详细信息。
grid.getColumnmanager().getColumns()
不提供分组列的父列。列管理器仅处理叶列。
在迭代列时,您可以访问 isSubHeader
属性 仅在子摸索列中可用,之后通过 ownerCt
属性 您可以访问父列。
希望这对您有所帮助。