如何在extjs Grid中动态显示/隐藏列?

Vic*_*tor 0 extjs

可能重复:
如何在网格面板中显示/隐藏列

在extjs gridpanel中,有一个名为:visibleColumns的属性.我想要的是这个:

someGrid = new Gridpanel({
store: this.someStore,
flex: 1,
if (someCond=true)
visibleColumns:[
col1,col2
]
else
visibleColumns:[
col3,col4
]
});
Run Code Online (Sandbox Code Playgroud)

如何实现if(someCond = true)?

The*_*rse 7

你必须尝试这样的事情:

someGrid.getColumnModel().setHidden(0, true);
Run Code Online (Sandbox Code Playgroud)


Ste*_*rig 5

根据您为列配置someCond添加hidden属性:

[{
    // col1
    hidden: !someCond
}, {
    // col2
    hidden: !someCond
}, {
    // col3
    hidden: someCond
}, {
    // col4
    hidden: someCond
}]
Run Code Online (Sandbox Code Playgroud)

注意:确保将隐藏属性添加到所有列.