extjs网格还原列(隐藏/显示)、宽度、位置

extjs网格还原列(隐藏/显示)、宽度、位置,extjs,grid,Extjs,Grid,我想在不重新加载页面的情况下重置网格列(隐藏/显示)、宽度和位置。 我正在尝试这个 Ext.getCmp('inventoryResultGrid').applyState(firstState); 但它只适用于职位。哪个ExtJS版本 通过查看EXtJS 3.1.4中GridPanel.applyState()的源代码,可以看出:在列结束后应用状态实际上只会将值存储在列模型的配置中,但不会更改当前设置(位置除外) 这样做应该可以(未经测试): 函数restoreColumnState(网格、

我想在不重新加载页面的情况下重置网格列(隐藏/显示)、宽度和位置。 我正在尝试这个

Ext.getCmp('inventoryResultGrid').applyState(firstState);
但它只适用于职位。

哪个ExtJS版本

通过查看EXtJS 3.1.4中GridPanel.applyState()的源代码,可以看出:在列结束后应用状态实际上只会将值存储在列模型的配置中,但不会更改当前设置(位置除外)

这样做应该可以(未经测试):

函数restoreColumnState(网格、状态){
var cm=grid.getColumnModel(),
columns=state.columns,
专栏国家,
专栏,
柱状指数;
cm.吊杆通风孔(真实);
for(变量i=0,len=columns.length;i
尝试重新配置这样的方法

var grid = Ext.getCmp('inventoryResultGrid'); 
grid.reconfigure(grid.store, grid.initialConfig.columns);

您可以在此处找到文档

是否调用了grid.getView().refresh()?Ext.getCmp('inventoryResultGrid').getView().refresh();不适用于我:(我使用的是ExtJS 4,网格没有
getColumnModel
方法。如果您希望将列状态恢复为初始配置值,则该方法似乎可行。仍然无法回答为什么
applyState
似乎什么都不做。
var grid = Ext.getCmp('inventoryResultGrid'); 
grid.reconfigure(grid.store, grid.initialConfig.columns);