【问题标题】:Extjs Grid panel - Hide a column with hideable=falseExtjs Grid 面板 - 使用 hideable=false 隐藏列
【发布时间】:2012-10-18 08:38:49
【问题描述】:

我正在使用 Extjs 4.1 网格面板。

我正在寻找一种从网格中隐藏列的方法。 我可以使用 setHidden 但随后用户可以从列标题的菜单中再次“取消隐藏”该列。 似乎隐藏的属性只是没有削减它......

【问题讨论】:

    标签: extjs extjs4 extjs4.1


    【解决方案1】:

    好的。 最终我这样做了: 在网格的“afterrender”事件中:

    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() && column.get_Hideable() == true then checkbox.Show() else checkbox.Hide();

    (抱歉伪代码,我使用的是一个 Sharpkit,它是一个 C# 到 javascript 的转换器,所以如果我复制粘贴的代码会更难解释。

    注意:您可以对网格的 enableColumnHide 事件执行相同操作。

    【讨论】:

      【解决方案2】:

      使用以下配置列

      hidden: true, hideable: false

      'grid.headerCt.getGridColumns()'

      使用上述方法获取所有网格列并使用 hide() 和 show() 显示特定列

      这将适用于 Ext js 4.1

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 我想在不同的情况下使用我所有的专栏。因此我需要能够在特定条件下隐藏一列,并且用户不应该再次选择“取消隐藏”它。
        【解决方案4】:

        为每个场景重新配置网格。 Link to api提示

        【讨论】:

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

        我在列上使用 setVisible(false | true)。 doc

        【讨论】:

          猜你喜欢
          • 2013-08-10
          • 1970-01-01
          • 2017-10-18
          • 1970-01-01
          • 2012-06-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多