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对象的数组吗?
答案 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