Extjs4 ExtJS网格&x27;重置';
我使用的是ExtJS4,使用的是MVC方法。我创建了一个简单的网格视图类,并在控制器中向该视图添加了componentquery类型“ref”。在初始网格视图中,我将几个列设置为隐藏,一些默认设置为可见。使用这些设置的栅格渲染效果良好 然后我有一个按钮,当单击该按钮并基于其他一些条件时,将使一些最初隐藏的网格列可见。这同样有效 但我需要的是一种稍后将网格“重置”到其初始视图的方法(与初始视图一样,隐藏/可见正确的列) 我尝试了以下各种排列,但没有效果:Extjs4 ExtJS网格&x27;重置';,extjs4,Extjs4,我使用的是ExtJS4,使用的是MVC方法。我创建了一个简单的网格视图类,并在控制器中向该视图添加了componentquery类型“ref”。在初始网格视图中,我将几个列设置为隐藏,一些默认设置为可见。使用这些设置的栅格渲染效果良好 然后我有一个按钮,当单击该按钮并基于其他一些条件时,将使一些最初隐藏的网格列可见。这同样有效 但我需要的是一种稍后将网格“重置”到其初始视图的方法(与初始视图一样,隐藏/可见正确的列) 我尝试了以下各种排列,但没有效果: var theGrid = this.ge
var theGrid = this.getTheGrid();
theGrid.reconfigure(store, theGrid.initialConfig.columns);
theGrid.getView().refresh();
我想我可以循环遍历每一列并重置其“隐藏”状态,但我认为有一种方法可以“重置”回类中设置的内容?建议
解决方案更新
感谢tuespetre的指针。对于将来想要了解具体情况的人,以下是需要的内容(至少对于我的实现):
- 在视图中,将列defs移动到变量中
- 在视图中,类中的列ref变为:
columns: myColumns,
- 在视图中,在类中创建以下函数:
resetGrid: function(){ this.reconfigure(null, myColumns); },
- 在控制器内:
var theGrid = this.getTheGrid(); theGrid.resetGrid();