首先,我正在使用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所示。
我尝试过的技巧:
1. randomButton.fire();
2。
columnsOfTheTable.get(0).setVisible(false);
columnsOfTheTable.get(0).setVisible(true);
以上不起作用。
任何帮助,将不胜感激。
谢谢
最佳答案
这有点猜测,但是如果您在表中使用自定义单元格(或行),请确保其updateItem(...)
方法正确处理空单元格:
@Override
public void updateItem(SomeType item, boolean empty) {
super.updateItem(item, boolean);
if (empty) {
setText(null);
setGraphic(null);
} else {
// configure cell...
}
}