当前位置: 首页 > 知识库问答 >
问题:

在TableView列JavaFX中使用ObservableList索引

夏学名
2023-03-14
 cargoTable.setItems(um.getCargoList());
 cargoTypeColumn.setCellValueFactory(new PropertyValueFactory<Cargo, CargoType>("cargoType"));
 ownerColumn.setCellValueFactory(new PropertyValueFactory<Cargo, Customer>("owner"));
 ownerColumn.setComparator(new Comparator<Customer>() {
     @Override
     public int compare(Customer o1, Customer o2) {
         return o1.getName().compareToIgnoreCase(o2.getName());
     }
     });
 sizeColumn.setCellValueFactory(new PropertyValueFactory<Cargo, Integer>("size"));
 propertiesColumn.setCellValueFactory(new PropertyValueFactory<Cargo, String>("properties"));
 hazardsColumn.setCellValueFactory(new PropertyValueFactory<Cargo, Hazard>("hazards"));
 depositDateColumn.setCellValueFactory(new PropertyValueFactory<Cargo, Date>("date"));

任何帮助都将不胜感激!提前感谢!

共有1个答案

虞俊美
2023-03-14

这是未经测试的。

您可以为您的列使用自定义的CellValueFactory,并在其中包含一些不同的逻辑。类似于:

indexCol.setCellValueFactory(data -> {
    Cargo item = data.getValue();
    int index = table.getItems().indexOf(item);
    return new SimpleStringProperty(Integer.toString(index));
});

对于此列,给出这个单元格需要查看的项,并根据表中设置的列表查找它的索引,然后返回它。

 类似资料:
  • 我想将所有囚犯数据显示到一个TableView中。囚犯看起来像这样(所有代码都是一个示例): 然后我有了我的TableView:数据是一个可观察列表 这工作正常,但我的问题是,如何在TableView中添加大小写?我试过了 但它不起作用。当然,我没有忘记在最后将所有列添加到TableView。

  • 我很难用ObservableList中获得的数据填充JavaFX中的表视图。 当在病人信息控制器中按下btn确认()时,它会使用病人信息控制器视图中的屏幕文本数据创建一个病人对象。 然后将该对象添加到队列类中的LinkedList队列中。然后返回队列并将其传递给QueueTabPageController方法displayQueue() 我知道,当我将增强的for循环打印到控制台时,患者对象获得了

  • 我有一个表视图,每次都很好地填充, 我的主控制器: 我的测试类: 扩展测试类并覆盖其运行的Test1类: 我的aHandler: 因为tbl1绑定到Handler。getInstance()。GetData(),第一次初始化该类时,我看到列Test填充了值1,因为TestData=1;但当计时器开始更改测试数据时,表视图不会获得新的赋值。我做错了什么? 我尽我所能解释这个问题,请让我知道,如果它仍

  • 我在填充Tableview时遇到问题。当我运行此代码时,我的tableview具有与观察列表相同数量的记录,但什么都不可见。 有什么想法吗?donť理解一些类似cellvalueProperty的东西。这对我的示例有用吗?谢谢

  • 希望我能把问题弄得尽可能清楚。我正在使用JavaFX库为GUI开发一个小型java应用程序。我正在做一个POP连接,并将消息存储为ObservableList。为此,我使用javax.mail。我将这个observablelist传递给一个tableview,并通过以下方式将所需的值传递给TableColumns: Subject和sentDate是完美的读入。但不幸的是,“from”将对象引用添

  • 我有一个JavaFX TableView定义为: 它由一个ObservableList支持: