我们有一个要求,我们需要在两个单独的编辑器树网格中加载大约 4000 条记录,并在使用每棵树中特定列的值进行比较后突出显示每条记录中的差异。记录数量有限,一切都很好,但是当我们达到 4000 条或更多记录时,我们的数据就会出现巨大问题。树形网格需要大约 10 分钟来渲染,因为它包括扩展所有节点、计算以构建父子关系,然后是突出显示。
我考虑的一个解决方案是尝试与 Live Grid 类似的方法,但对于突出显示逻辑,我们需要所有记录,因为网格“A”中的第三条记录可能与网格“B”中的第 115 条记录匹配。Live Grid 不会有以前的选择当它带来下一组记录时。
考虑到上述情况,实现这一目标的最佳方法是什么?我可以在向下滚动时继续向商店添加新记录吗?我认为可以通过跟踪滚动位置而不使用 Live Grid 来完成,但我不确定如何实现这一点。我什至不确定这是否是正确的方法。当用户在 EditorTreeGrid 中到达垂直滚动的末尾时,有人可以向我提供一些示例代码来向商店添加元素,或者建议一种更好的方法来实现这一点吗?我尝试添加一个滚动侦听器和一个侦听器以某种方式无法启动。
此外,Live Grid 使用 List Store,而我使用 EditorTreeGrid。如何有效地将其填充到树店?我以前做过 getAllModels 并将它们填充到 TreeStore 。这是正确的方法吗?