关于 extjs4:Extjs Grid 面板 – 使用 hideable=false 隐藏列 | 珊瑚贝

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 提示

  • 这很有趣。即使在渲染网格之后,我也可以使用该方法将一组新的配置应用于网格吗?
  • 是的你可以。阅读文档以了解重新配置方法。它接受 2 个参数、一个存储和一个列数组。


您可以在 initComponent 方法中配置 columns 属性,并仅将必要的列插入 this.columns 数组

  • 我想在不同的情况下使用我所有的专栏。因此,我需要能够在某些情况下隐藏列,并且用户不应该再次选择”取消隐藏”它。


来源:https://www.codenong.com/12950428/

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?