我在应用程序中的几乎所有表中都使用 Nattable。现在,一位用户报告了有关 Nattable 中的选择的问题。
当我的应用程序加载数据时,会显示数据,当用户在数据加载后选择一个项目时,它将删除该选择。当用户等待几秒钟并再次进行选择时,它会保留。
这是 Nattable 的已知行为吗?对我来说,第一次选择发生时数据似乎仍在加载。数据负载为 11K 个项目,具有多个单元标记器。
最佳答案
如果没有看到细节,很难判断。实际上我想知道在数据仍在加载时如何呈现某些内容。但我想你有一些有趣的延迟加载机制来使表可以快速访问。
根据我的经验,您描述的行为是由于 StructuralChangeEvent
发生的。一旦数据完全加载,就会触发此类事件以相应地更新所有层。结构变化用于完全清除,这也意味着使用默认 SelectionModel
时的选择。该模型中的选择是按行索引存储的。但由于结构变化意味着这可能已被更改,因此删除了选择以避免显示选择了之前未选择的内容。
要么使用扩展选择模型,例如 RowSelectionModel
或 PreserveSelectionModel
,要么仔细检查 StructuralChangeEvent
何时触发以及是否可以处理这个问题。但我认为对于您的数据加载机制而言,替代选择模型应该更有趣。
关于java - 加载数据后立即进行 Nattable 松散选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49752615/