有没有人有任何关于如何解决使用数据虚拟化时在多用户场景中可能出现的许多问题的指针/示例。可以说我们正在谈论 WPF 和 DataGrid。实现按需加载的虚拟化集合并不太困难。但是,如果没有存储原始查询临时结果的暂存区,我们会遇到并发问题,例如:
- 加载新页面可能会获取不正确的数据(并发用户添加和删除一些记录,导致记录总数相同,但这会导致页面获取已显示在网格上方某处的重复条目)
- 在滚动和加载新页面时在网格中保留用户选择,一旦选定的项目从缓存中过期,一旦重新加载,我们就会发现有人删除了它们。我们可以取消选择所有内容并向用户显示消息,但是:/ 此外,如果在靠近列表末尾的某处使用 Shift-click(多选)进行选择,当某些项目“出现”在列表中间时应该做什么在加载一些中间页面时(并发用户添加的项目)。