【发布时间】:2015-10-02 19:30:18
【问题描述】:
我们想将一些 JFace TableViewer 更改为 NatTable。 TableViewer 有一个方便的方法来更改数据源,即:
tableViewer.setInput(source)
我们在查询数据库时使用了这个方法传递了一个新的列表。 NatTable 中是否有类似的功能?
【问题讨论】:
标签: java swt eclipse-rcp nebula nattable
我们想将一些 JFace TableViewer 更改为 NatTable。 TableViewer 有一个方便的方法来更改数据源,即:
tableViewer.setInput(source)
我们在查询数据库时使用了这个方法传递了一个新的列表。 NatTable 中是否有类似的功能?
【问题讨论】:
标签: java swt eclipse-rcp nebula nattable
AFAIK,在 NatTable 中,您使用 IDataProvider 的实现。对于您的List 案例,您可以使用ListDataProvider。
vogella.com 上有一个关于 NatTable 的教程,a section on data provision 为您提供了如何将 List 模型与 NatTable 一起使用的示例。这是一个很好的起点。 NatTable 有一个相当复杂的 API,我不想重复文档。
【讨论】:
NatTable 可视化列表中包含的数据。要交换 NatTable 中显示的数据,您通常创建一个 ListDataProvider 以使用可以在运行时修改的 List 实例进行数据访问。
您通常会通过以下方式交换数据:
取决于您是否使用 GlazedLists,您需要在操作完成后刷新 NatTable。
如果您使用 GlazedLists 和 GlazedListsEventLayer,您需要考虑通过在更新数据列表内容之前停用 GlazedListsEventLayer 来进行批量更新,以避免不必要的事件触发。
【讨论】: