ExtJs 4:使用使用ArrayStore的网格隐藏/显示网格列

时间:2015-06-10 08:58:15

标签: extjs

ExtJs 4:
如何动态显示和隐藏使用ArrayStore作为其存储的网格列? 我找到了这个解决方案 ExtJs 4: How do I hide/show grid columns on the fly?
我知道每列需要setVisible(true | false),但是当我要求grid.columns时,我得到一个 Objects 数组,而作为Objects,他们没有setVisible函数。
如果我使用列的ID对每个特定列使用Ext.getCmp(..),那么我将返回对象,并且我能够访问SetVisible function ..但是也可以从网格中获取这些Column对象的数组吗?

3 个答案:

答案 0 :(得分:0)

您可以在http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.grid.column.Column

找到更多信息

您可以使用show()和hide()方法

 grid.columns[index].show();

或绝对可以使用setVisible()方法;

 grid.columns[index].setVisible(false);

答案 1 :(得分:0)

ExtJs 4: How do I hide/show grid columns on the fly?中的解决方案应该适合您。您使用的是什么版本的ExtJS?

使用 grid.columns 时,返回的对象数组是Column对象。因此,以下代码(如链接答案中详述的)应该有效。

grid.columns[0].setVisible(false);

查看此GridPanel Fiddle以获取实时示例。

答案 2 :(得分:0)

你应该这样做:

var myGrid = Ext.getCmp("Your_GRID");
var cols = myGrid.columns;
//index of the column to hide.
cols[index].setVisible(!cols[index].isVisible())

这是我在小提琴中的工作示例: https://fiddle.sencha.com/#fiddle/oca