0

我们想将我们的一些 JFace TableViewer 更改为 NatTable。TableViewer 有一个方便的方法来更改数据源,即:

tableViewer.setInput(source)

我们在查询数据库时使用此方法传递了一个新列表。NatTable 中有类似的东西吗?

4

2 回答 2

0

NatTable 可视化列表中包含的数据。要交换 NatTable 中显示的数据,您通常会创建一个 ListDataProvider 以使用可以在运行时修改的 List 实例进行数据访问。

您通常会通过以下方式交换数据:

  • 为 NatTable -> natList 创建一个列表
  • 从数据库加载数据 -> dbList
  • natList.clear()
  • natList.addAll(dbList)

根据您是否使用 GlazedLists,您需要在操作完成后刷新 NatTable。

如果您正在使用 GlazedLists 和 GlazedListsEventLayer,您需要考虑通过在更新数据列表内容之前停用 GlazedListsEventLayer 来进行批量更新,以避免不必要的事件触发。

于 2015-10-02T11:30:18.837 回答
0

AFAIK,在 NatTable 中,您使用IDataProvider. 对于您的List情况,您可以使用ListDataProvider.

vogella.com上有一个关于 NatTable 的教程,其中有一个关于数据提供的部分,它为您提供了一个如何将List模型与 NatTable 一起使用的示例。这是一个很好的起点。NatTable 有一个相当复杂的 API,我不想重复文档。

于 2015-10-02T08:42:59.253 回答