0

通过左键双击 ListView 项来填充 TableView。

这个 TableView 有两个最右边的列呈现为 ChoiceBox 和 CheckBox,并且一切正常。

我的问题如下:添加一个项目,然后在 CheckBox 上设置标志,并为 ChoiceBox 列设置任何数字

在此处输入图像描述

现在,如果我再次左键单击 ListView 行以将另一个项目添加到表中,我之前的检查和数字设置就会消失

在此处输入图像描述

整个项目可以在这里下载

列表视图和表格视图

谢谢

编辑:我忘记了以下属性方法

public SimpleBooleanProperty onProperty() {
          return on_col;
      }
      public SimpleStringProperty toolProperty(){
          return tool_col;
      }
      public SimpleStringProperty chartProperty(){
          return chart_col;
      }
      public SimpleStringProperty paneProperty(){
          return pane_col;
      }

添加这些方法后,CheckBoxes 问题现在已修复,只需要修复 ChoiceBox 上选择的数字即可。

4

1 回答 1

0

当您EventHanlder为您打电话时,您listviewIndicator确实将您Indicators的默认值存储在那里:

Indicators ind = new Indicators(indSelected, "", "", true);

如果我正确理解您的代码,这些值在列表中永远不会改变。因此,当您Indicators再次双击添加另一个时,ObservableList<Indicators> taToolsList = FXCollections.observableArrayList();您仍然有两个Indicators仍然具有如上所述的默认值。正如您在下面的设置中taToolsList,您TableView之前更改的内容在插入整个列表时消失了。

tableviewIndicators.setItems(taToolsList);

我希望这是有道理的。

于 2013-08-23T18:07:18.560 回答