我使用这两个函数suspendLayouts
,resumeLayouts
以优化大网格渲染.特别是,我在编程方式隐藏一些网格列之前和之后使用它们.我是这样做的:
Ext.suspendLayouts();
... a lot of code, some code may hide a lot of grid columns
Ext.resumeLayouts();
Run Code Online (Sandbox Code Playgroud)
如果我不使用它们,浏览器要么不响应,要么响应有关持久脚本的警报.如果我使用它们,那么它运行得非常快,但并非在所有浏览器中运行.例如,在Chrome中,我看到一些列不会被隐藏,而它们的列标题/标题会隐藏.
在具有相对少量列的小网格中,此代码没有挂起和恢复布局,效果很好.但我需要它在大型网格中工作.
顺便说一句,我隐藏了这样的列
var cols=grid.headerCt.getGridColumns()
Ext.each(cols, function (item, index, all){
... some code
if(ok) item.setVisible(false);
})
Run Code Online (Sandbox Code Playgroud)
可能还有另一种隐藏网格列的更好方法.
好吧,我找到了解决方案.我应该使用grid.suspendLayouts()
而grid.resumeLayouts()
不是Ext.suspendLayouts()
和Ext.resumeLayouts()
.现在,它按预期工作.
归档时间: |
|
查看次数: |
5838 次 |
最近记录: |