我在我的应用程序中使用Nattable几乎所有表格。现在,用户报告了有关Nattable中选择的问题。
当我的应用程序加载数据时,显示数据,当用户在数据加载后选择一个项目时,它将删除选择。当用户等待几秒钟并再次进行选择时,它会保持不变。
这是Nattable的已知行为吗?对我来说,看起来第一次选择时数据仍在加载。数据加载是带有多个单元贴标机的11K项目。
答案 0 :(得分:1)
没有看到细节,很难说清楚。实际上我想知道在数据仍然加载时如何呈现某些内容。但我想你有一些有趣的延迟加载机制,可以快速访问表。
根据我的经验,您描述的行为是因为StructuralChangeEvent
而发生的。数据完全加载后,会触发此事件以相应地更新所有图层。结构更改用于完全清除,这也意味着在使用默认SelectionModel
时进行选择。该模型中的选择由行索引存储。但是,由于结构变化意味着可能已经改变,因此删除了选择以避免选择之前未选择的内容。
要么使用RowSelectionModel
或PreserveSelectionModel
之类的扩展选择模型,要么在StructuralChangeEvent
被解雇时仔细检查,以及是否可以处理。{p>但我认为关于数据加载机制,替代选择模型应该更有趣。