javascript – 如何坚持ExtJS datagrid列隐藏/显示/移动/调整大小?

前端之家收集整理的这篇文章主要介绍了javascript – 如何坚持ExtJS datagrid列隐藏/显示/移动/调整大小?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想让用户对ExtJS数据网格的列显示(隐藏,显示,移动,调整大小)进行持久更改并存储在服务器上.有很多事件需要监听,但在网格上注册处理程序本身似乎不会导致调用警报:
grid.on('hide',function(event)
        {
        alert('Save column order: column hidden.');
        });
    grid.on('move',function(event)
        {
        alert('Save column order: column moved.');
        });
    grid.on('resize',function(event)
        {
        alert('Save column sizes: column resized.');
        });
    grid.on('show',function(event)
        {
        alert('Save colum order: column shown.');
        });

(我的基本方法可能是也可能不是最优的.)

我应该具体做些什么来倾听这些事件?我可以隐藏,移动和调整列的大小而不会触发警报.

解决方法

首先,您需要配置一个 state provider. CookieProvider是ExtJS内置的唯一一个
Ext.state.Manager.setProvider(new Ext.state.CookieProvider());

其次,将yourGridPanel.stateful标记为true

第三,看看是否需要更改GridPanel.stateEvents的默认值
这基本上是“一系列事件,当被触发时,应触发此组件以保存其状态”

第四,HttpStateProvider不是内置ExtJS而是Sakiux (user extension) for it.

第五,如果要保存多个组件的状态,则应该明确设置id或stateId.

一个好的方法是使用内置的CookieProvider按预期工作,然后切换到Http Provider.

猜你在找的JavaScript相关文章