我有一個TableView
填充自定義對象;該表顯示該對象的屬性。TableView/CellValueFactory - 基於另一個屬性的值更改顯示的屬性
我的問題是如何根據該行的另一個屬性的值將不同的屬性綁定到列上?
例如,假設我有這樣的對象:
public class MyObject() {
private SimpleStringProperty name = new SimpleStringProperty("");
private SimpleStringProperty type = new SimpleStringProperty("");
}
在
TableView
現在,我有兩列:
+---------+--------+
| NAME | TYPE |
+---------+--------+
| Robert | Mgr |
+---------+--------+
但是,如果type = "Something"
,我想Type
列實際顯示name
屬性的值代替:
+---------+--------+
| NAME | TYPE |
+---------+--------+
| Robert | Robert |
+---------+--------+
我不清楚如何根據同一對象實例中另一個屬性的值設置不同的PropertyValueFactory
。
謝謝你的回覆。但是,我很難將其適應於我自己的情況。首先,'new TableCell()'拋出一個「錯誤返回類型在lambda中」的錯誤,因爲第二個參數需要一個'String',而不是一個對象。 –
Zephyr
我已更新以顯示如何定義您的列 - 它應該採取對象,而不是一個字符串。 –
謝謝。這個結果也很好。我實際上剛剛解決了這個問題,僅使用帶有Lamba表達式的'CellValueFactory'。我在下面添加了我的答案以及它似乎只是更簡單一點。 – Zephyr