【发布时间】:2018-10-24 18:30:03
【问题描述】:
我有一个 javafx TableView 显示从服务器抓取的数据并放入模型中。模型数据将每隔几秒更新一次,可能会添加新行或修改特定模型数据。
假设我有一个名为“优先级”的列,用户单击优先级标题以根据优先级对表进行排序以查看 LOW MEDIUM HIGH 优先级。添加新行时,会根据排序正确插入行。
这里的问题是,当一个现有行的数据被修改时,例如,我使用一个按钮来改变第一行的优先级。
btn.setOnAction(new EventHandler<ActionEvent>(){
@Override
Public void handle(ActionEvent event){
data.get(0).setPriority("HIGH");
}
});
表格不会立即反映更改,表格也没有排序。当我双击要编辑的单元格或使用表格时,我只能看到修改后的优先级..
这是我的问题:
-
为什么我的表在数据更改后没有立即反映更改? PS:我确实使用
设置了表格项目table.setItems(数据);
有没有办法让我在数据被修改时收到通知,因为如果是这样,我可能会触发某种刷新来让我的表反映这些更改.. 但我不能这样做如果我不知道数据何时被修改
【问题讨论】:
标签: tableview