2017-04-19 38 views
0

我有一个可以动态重新排序的列的网格面板。ExtJs moveAfter gridpanel上的列很慢

我用下面的方法:

grid.headerCt.moveAfter 

但是,当我的数组包含大量列,循环(用于移动列)花费大量的时间(但不是每次)来处理。 在此期间,即使使用suspendLayouts/resumeLayouts,所有屏幕都被冻结。

在这里,我的gridpanel包含62列。 有时循环(用于移动列)在不到1秒钟后结束。 但很多时候,循环在12秒或更长时间后结束。

moveAfter loop

是否有更好的方法,使这项但最好的性能?

+0

您正在使用哪个版本的ExtJS? – Alexander

+0

我正在使用ExtJs 6.2.1 –

+0

好的。我会尝试一下。你的网格有多少行?你能提供列配置吗? – Alexander

回答

0

MoveAfter如果行数和列数很大,则会越来越慢。处理时间随着数据量的增加而增加。

我已经应用此解决方法:移动数组上的列而不使用行,并在之后添加行。

现在重新排列列的时间少于1秒,不会从一次调用演变到另一次。