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