java - 加载数据后立即进行 Nattable 松散选择

标签 java swt nattable

我在应用程序中的几乎所有表中都使用 Nattable。现在,一位用户报告了有关 Nattable 中的选择的问题。

当我的应用程序加载数据时,会显示数据,当用户在数据加载后选择一个项目时,它将删除该选择。当用户等待几秒钟并再次进行选择时,它会保留。

这是 Nattable 的已知行为吗?对我来说,第一次选择发生时数据似乎仍在加载。数据负载为 11K 个项目,具有多个单元标记器。

最佳答案

如果没有看到细节,很难判断。实际上我想知道在数据仍在加载时如何呈现某些内容。但我想你有一些有趣的延迟加载机制来使表可以快速访问。

根据我的经验,您描述的行为是由于 StructuralChangeEvent 发生的。一旦数据完全加载,就会触发此类事件以相应地更新所有层。结构变化用于完全清除,这也意味着使用默认 SelectionModel 时的选择。该模型中的选择是按行索引存储的。但由于结构变化意味着这可能已被更改,因此删除了选择以避免显示选择了之前未选择的内容。

要么使用扩展选择模型,例如 RowSelectionModelPreserveSelectionModel,要么仔细检查 StructuralChangeEvent 何时触发以及是否可以处理这个问题。但我认为对于您的数据加载机制而言,替代选择模型应该更有趣。

关于java - 加载数据后立即进行 Nattable 松散选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49752615/

相关文章:

java - 比较填充有不同种类对象的两个集合

Java : error in SQL syntax

java - SWT 小程序 : swt-win32-3650. dll 已加载到另一个类加载器中

swt - 禁用和灰显 SWT 复合

java - 在显示时调整列的大小 - NatTable

java - 如何更改NatTable列AutoSize拖动图标

java - 如何将sonarlint添加到gradle任务中?

java - 当使用 JSch 通过 Java 执行时,某些 Unix 命令会失败并返回 "... not found"

java - 如何在visio中以编程方式绘制流程图