как скрыть столбец GridPanel в extjs - PullRequest
1 голос
/ 03 марта 2020

привет, у меня есть 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
}
...
   }

но не работает

1 Ответ

0 голосов
/ 03 марта 2020

Вы пытаетесь вызвать 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
    }
    ...
   });
...