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; if(!menu.items.containsKey("columnItem")) { return; } var columnsSubMenuItem=menu.items.getByKey("columnItem"); var columnsCheckboxes=columnsSubMenuItem.menu.items["items"]; // More code here... // See the pseudo code }); } |
现在我只是遍历列,如果 checkbox.text == column.get_Title()
我在列上使用 setVisible(false | true)。
文档
为每个场景重新配置网格。链接到 api 提示
您可以在 initComponent 方法中配置 columns 属性,并仅将必要的列插入 this.columns 数组