首先,我正在使用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...
    }
}

08-17 02:29