簡體   English   中英

如何在extjs中隱藏GridPanel的列

[英]how to hide column of GridPanel in extjs

嗨,我有多個列的 gridcoumn,我想在更改組合框時使用 AriaAttributes() 隱藏並顯示一些列(此代碼可以,只是無法隱藏和顯示列)我的代碼:

     @(X.GridPanel()
          .View(X.GridView().GetRowClass(x => x.Fn = "MyRowCls"))
          .Stateful(true)
          .Region(Region.Center)
          .ID("MyGrid")
X.Column().Text("a").DataIndex(Model, m => m.a),
X.Column().Text("b").DataIndex(Model, m => m.b).AriaAttributes(myAttr),//show and hide this column
X.Column().Text("c").DataIndex(Model, m => m.b),
X.Column().Text("c").DataIndex(Model, m => m.b),
X.Column().Text("c").DataIndex(Model, m => m.b).AriaAttributes(myAttr),//show and hide this column
X.Column().Text("a").DataIndex(Model, m => m.a)
...

和 jquery 代碼是:

var grid = Ext.getCmp('MyGrid');
grid.initialConfig.columns.items.forEach(
        ... /checked AriaAttributes is ok
{
        item.Hidden(true); // not work
        //item.setVisible(false)  // not work
        ....  // not work
}
...
   }

但不工作

您正在嘗試對簡單對象調用setVisible方法,因為initialConfig.columns存儲未將轉換傳遞給gridcolumns實例的列的原始配置。

列本身在這里 - grid.columns並且它需要方法

var grid = Ext.getCmp('MyGrid');
grid.columns.items.forEach(item =>
    ...
    {
        item.setVisible(false);
        // or you can call hide() method
    }
    ...
   });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM