加载数据后的 Nattable 松散选择
Nattable loose selection just after loading data
我在我的应用程序中几乎所有的表都使用 Nattable。现在有用户报告了一个关于 Nattable 中 selection 的问题。
当我的应用程序加载数据时显示数据,当用户 select 数据加载后的项目时,它将删除 selection。当用户等待几秒钟并再次执行 selection 时,它会保持。
这是 Nattable 的已知行为吗?对我来说,当第一个 selection 发生时,数据似乎仍在加载。数据负载是 11K 项,带有多个单元格标记器。
不看细节很难说。实际上,我想知道在数据仍在加载时如何呈现某些东西。但我想你有一些有趣的延迟加载机制来使 table 可以快速访问。
根据我的经验,您描述的行为是因为 StructuralChangeEvent
。一旦数据完全加载,就会触发此类事件以相应地更新所有图层。结构上的变化是用来完全清除的,这也意味着使用默认值时的选择SelectionModel
。该模型中的选择按行索引存储。但由于结构更改意味着这可能已经更改,因此删除了选择以避免显示之前未选择的内容。
要么使用扩展选择模型,如 RowSelectionModel
或 PreserveSelectionModel
,要么仔细检查 StructuralChangeEvent
何时触发,以及是否可以处理它。但我认为对于您的数据加载机制,替代选择模型应该更有趣。
我在我的应用程序中几乎所有的表都使用 Nattable。现在有用户报告了一个关于 Nattable 中 selection 的问题。
当我的应用程序加载数据时显示数据,当用户 select 数据加载后的项目时,它将删除 selection。当用户等待几秒钟并再次执行 selection 时,它会保持。
这是 Nattable 的已知行为吗?对我来说,当第一个 selection 发生时,数据似乎仍在加载。数据负载是 11K 项,带有多个单元格标记器。
不看细节很难说。实际上,我想知道在数据仍在加载时如何呈现某些东西。但我想你有一些有趣的延迟加载机制来使 table 可以快速访问。
根据我的经验,您描述的行为是因为 StructuralChangeEvent
。一旦数据完全加载,就会触发此类事件以相应地更新所有图层。结构上的变化是用来完全清除的,这也意味着使用默认值时的选择SelectionModel
。该模型中的选择按行索引存储。但由于结构更改意味着这可能已经更改,因此删除了选择以避免显示之前未选择的内容。
要么使用扩展选择模型,如 RowSelectionModel
或 PreserveSelectionModel
,要么仔细检查 StructuralChangeEvent
何时触发,以及是否可以处理它。但我认为对于您的数据加载机制,替代选择模型应该更有趣。