Dim*_*ris 0 java netbeans javafx tableview javafx-8
首先,我正在使用Windows 7,Netbeans 8,JDK 8.
我有一个TableView包含POJO对象(不使用属性).
我正在尝试实现" 打字时搜索 ",但发生了一些奇怪的事情.
在此图像中,您可以看到所有学生都在显示:
在搜索完成后的下一张图片中,您可以看到问题.
前4名学生是实际的搜索结果,并且是可点击的活动条目TableView.
所有其他条目都可见但没有响应,但它们应该已被完全删除.
它是如何工作的 (编码部分):
1.当用户键入'f'时,调用一个函数.
2.在函数中我创建了包含搜索结果的新列表:
ObservableList<Student> subentries = FXCollections.observableArrayList();
3.然后我添加符合subentries列表
4中搜索条件的所有项目.我调用:
5.studentsTable.setItems(subentries);
错误的结果显示在图片2中
.HACKS我试过:
1. randomButton.fire();
2.
columnsOfTheTable.get(0).setVisible(false);
columnsOfTheTable.get(0).setVisible(true);
Run Code Online (Sandbox Code Playgroud)
以上不起作用.
任何帮助,将不胜感激.
谢谢
这是一个猜测,但如果您在表中使用自定义单元格(或行),请确保其updateItem(...)方法正确处理空单元格:
@Override
public void updateItem(SomeType item, boolean empty) {
super.updateItem(item, boolean);
if (empty) {
setText(null);
setGraphic(null);
} else {
// configure cell...
}
}
Run Code Online (Sandbox Code Playgroud)