Javafx 当上下滚动TableView时,字段中的TableView数据会发生变化。
我的tableview中的一个字段遇到了一个问题,我需要动态显示另一个表中的值。下面是我用来更新tableview单元格的代码。该表使用不同于给定值的值进行更新Javafx 当上下滚动TableView时,字段中的TableView数据会发生变化。,javafx,javafx-2,Javafx,Javafx 2,我的tableview中的一个字段遇到了一个问题,我需要动态显示另一个表中的值。下面是我用来更新tableview单元格的代码。该表使用不同于给定值的值进行更新 final int k = 0; value.setCellValueFactory(new Callback<CellDataFeatures<ObservableList, String>, ObservableValue<String>>() { int
final int k = 0;
value.setCellValueFactory(new Callback<CellDataFeatures<ObservableList, String>, ObservableValue<String>>() {
int noOfDataCells = k;
public ObservableValue<String> call(CellDataFeatures<ObservableList, String> param)
{
TableColumn column = param.getTableColumn();
int size = 0;
if(tableView1.getItems()!=null)
size = ((ObservableList) tableView1.getItems().get(0)).size();
String valueFromData = "";
if(noOfDataCells<size)
{
valueFromData = String.valueOf(((ObservableList) tableView1.getItems().get(0)).get(noOfDataCells));
}
else if(noOfDataCells == size)
{
noOfDataCells = 0;
valueFromData = String.valueOf(((ObservableList) tableView1.getItems().get(0)).get(noOfDataCells));
}
else if (noOfDataCells>size)
{
valueFromData = "";
}
noOfDataCells++;
return new SimpleStringProperty(valueFromData);
}
});
您可能会遇到与此问题的作者相同的问题:请注意,单元格在滚动出可见区域并返回后会重新创建。因此,您的单元工厂应该能够随时从给定的数据创建相同的单元。这是不同的,因为这里没有updateItem方法,但在上下滚动tableview时数据仍在变化。有人有解决方案吗?