在 NatTable 中创建变化事件监听器
Create change event listener in NatTable
我是第一次使用 NatTable。我已经创建了一个很好的 Table 排序,过滤,......但现在我正在寻找一种方法来实现一个更改侦听器,每次 table 中的数据发生更改时都会调用该侦听器.另外,活动需要把更改后的模型还给我。
有什么方法可以造成这种行为吗?
由于 NatTable 基本上是 "only" 数据模型的查看器,我通常建议在模型对象上引入某种 PropertyChangeListener。原因是数据可以通过 NatTable 或通过后台任务在数据模型本身中更改。最后,答案将取决于您的用例。
如果您只想以特殊方式跟踪 NatTable 中的更改,您可以实施并注册一个自定义 UpdateDataCommandHandler
来触发包含您需要的信息的事件。在 NatTable 本身中,我们目前不会触发此类事件。在数据更新的情况下,我们只触发 CellVisualChangeEvent
来触发重绘。
关于如何交换数据更新行为的基本解释可以在本页底部找到:https://www.eclipse.org/nattable/documentation.php?page=editing
最后您需要检查 UpdateDataCommandHandler
的实现,基本上执行相同的操作来更新数据模型并另外触发符合您期望的事件。
我是第一次使用 NatTable。我已经创建了一个很好的 Table 排序,过滤,......但现在我正在寻找一种方法来实现一个更改侦听器,每次 table 中的数据发生更改时都会调用该侦听器.另外,活动需要把更改后的模型还给我。
有什么方法可以造成这种行为吗?
由于 NatTable 基本上是 "only" 数据模型的查看器,我通常建议在模型对象上引入某种 PropertyChangeListener。原因是数据可以通过 NatTable 或通过后台任务在数据模型本身中更改。最后,答案将取决于您的用例。
如果您只想以特殊方式跟踪 NatTable 中的更改,您可以实施并注册一个自定义 UpdateDataCommandHandler
来触发包含您需要的信息的事件。在 NatTable 本身中,我们目前不会触发此类事件。在数据更新的情况下,我们只触发 CellVisualChangeEvent
来触发重绘。
关于如何交换数据更新行为的基本解释可以在本页底部找到:https://www.eclipse.org/nattable/documentation.php?page=editing
最后您需要检查 UpdateDataCommandHandler
的实现,基本上执行相同的操作来更新数据模型并另外触发符合您期望的事件。