我在网页上大量使用jqGrid,使用本地数据(数据数组) 网格有数百行(可能最多300行),大约有40列。
用户点击按钮时会有要求,它会为所有行更新一列。 哪个更快?使用setCell并为所有行调用它? 或更新后台数据,并做reloadgrid? 我们的应用程序将被数百名用户使用。
答案 0 :(得分:1)
我确信,修改数据的重新加载应该快速地作为setCell
的300个单元的典型更新。 Web浏览器必须在更新一个单元格时重新整理整个网格或整个页面。因此,不仅更新单元格,而且更新的后果(reflow)也很昂贵。所以我建议你使用reloadGrid
。我确定你使用gridview:true选项(如果你不想让页面慢慢多次)。
通常,可以对多个网格单元实施更快速的更改。在这种情况下,需要临时从页面中分离网格(参见“流出的DOM操作”部分here),进行修改并恢复原始位置的网格。这种方式很棘手,我不确定你是否可以使用setCell
。