Extjs Grid panel – Hide a column with hideable=false
我正在使用 Extjs 4.1 网格面板。
我正在寻找一种从网格中隐藏列的方法。
我可以使用 setHidden 但随后用户可以从列标题的菜单中再次”取消隐藏”该列。
似乎隐藏的属性只是没有削减它……
n
好的。
最终我这样做了:
在网格的”afterrender”事件中:
|
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
var header = pnl.down(“headercontainer”);
if(header != null && header[“getMenu”] != null) { var menu=header.getMenu(); menu.on(‘beforeshow’,function(sender,eOpts){ var menu=sender; var columnsSubMenuItem=menu.items.getByKey(“columnItem”); // More code here… |
现在我只是遍历列,如果 checkbox.text == column.get_Title()
我在列上使用 setVisible(false | true)。
文档
为每个场景重新配置网格。链接到 api 提示
- 这很有趣。即使在渲染网格之后,我也可以使用该方法将一组新的配置应用于网格吗?
- 是的你可以。阅读文档以了解重新配置方法。它接受 2 个参数、一个存储和一个列数组。
您可以在 initComponent 方法中配置 columns 属性,并仅将必要的列插入 this.columns 数组
- 我想在不同的情况下使用我所有的专栏。因此,我需要能够在某些情况下隐藏列,并且用户不应该再次选择”取消隐藏”它。
来源:https://www.codenong.com/12950428/
