2016-03-25 8 views
1

例えば、私は、セルの値の種類(ブール、日付、等)のようなテーブルビューのsetCellFactory

何かに依存して、細胞の異なる種類のいくつかのクラスを持っていますそれ:

public class MyBooleanCell extends TableCell<MyData, Boolean> {...} 
public class MyDateCell extends TableCell<MyData, LocalDate> {...} 

どのように私はそのような(疑似コードの例)を作ることができますか?

colValue.setCellFactory(factory -> { 
    if (cellValueType != null) { 
     if (cellValueType instanceof Boolean) { 
     return MyBooleanCell; 
     } else if (cellValueType instanceof LocalDate) { 
     return MyDateCell; 
     } else { 
     //... 
     } 
    } 
}); 
+0

は、なぜあなたは、双方向バインドを使用していませんか? – JohnRW

+0

そして、イベントハンドラやリスナーが全く追加されていない場合、 'graphic'に割り当てられている' Node'sをアイテムにどのように接続すればいいでしょうか???????また、この 'cellValueFactory'コードを正当化するために' FilterRow.filterValueProperty() 'をどのように設計しましたか? – fabian

+0

@fabian投稿する 'FilterRow'クラスの一部を追加します。 'setCellFactory'のプロパティで' Node'をバインドする必要がありますか?バインドするためにコードのこの部分でどのようにプロパティを取得できますか? –

答えて

-2

可視性の値をfalseに設定し、trueを設定してTableViewをリフレッシュしてみてください。

のtableView - >偽 のtableView - >真

+0

いいえ、どんな問題、トグル可視性は解決策ではありません... – kleopatra