2017-10-12 18 views
0

私はJAVAでテーブルを構築していますが、いくつかの行はオプションに基づいてほとんど完全に異なる必要があります。 PHPでJAVAで行をレンダリングする方法を細かく制御できますか?

私はループデータセットでき、IF文を適用すると、行は私だけJAVAでテーブルをレンダリングする1つの方法を知っているWebページ

while($r = $sth->fetch()){ 
    if ($r['status']=='good'){ 
     echo '<tr><td>This is good</td><td>yes it is</td></tr>'; 
    } 
    else{ 
     echo '<tr><td colspan="2">this is bad</td></tr>'; 
    } 
} 

にrenedred方法を変更:

TableView<StatuTable> table = new TableView(); 

TableColumn<StatuTable, String> statusColumn = new TableColumn<>("Status"); 
statusColumn .setCellValueFactory(new PropertyValueFactory<>("status")); 

TableColumn<StatuTable, String> noteColumn = new TableColumn<>("Note"); 
noteColumn .setCellValueFactory(new PropertyValueFactory<>("note")); 

//loop the statusGroup defined elsewhere 
    ObservableList<StatusTable> statusList = FXCollections.observableArrayList(); 
    for (Status status: statusGroup.getStatusRows()){ 
     Can I alter the table row here: 
     if (status.getStatusType.equals("good")){ 
      //make a different kind of row. 
     } 
     statusList.add(status); 
    } 

    table .setItems(statusList); 

    //this part is black magic as far as i am concerned 
    scheduleTable.getColumns().addAll(statusColumn, noteColumn); 
+0

スタート:

nameRow.getStyleClass().add("italic"); 

は、テーブルのセルのためのイタリックスタイルを定義し、あなたのシーンにスタイルシートを追加します。 ](https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/TableView.html)を参照して、「TableViewビジュアルのカスタマイズ」*を参照してください。それから、[JavaFX 8 TableView Cell Renderer](http://code.makery.ch/blog/javafx-8-tableview-cell-renderer/)のようなものが役に立ちました – MadProgrammer

+0

私はtableViewセルレンダリングを通して読みました私はセルスパン列を作ることができるかどうかはわかりません。それはcustomCellFactoryの中でそれをクリックするようにしていますが、私はそれが値のためにアイテムを照会することができます。 –

+0

ヘッダーは列にまたがることができますが、複数の列にまたがるセルを作成する簡単な方法はありません。理論的には可能かもしれませんが、どのような解決策も保証されていない可能性があります。 – VGR

答えて

0

この回答(https://stackoverflow.com/a/16864130/866021)の例を借用するには、TableRowgetStyleClass()機能でこれを行うことができます。

あなたの行に適切なスタイルクラスを追加します。[のJavaDocを見て持つことで

.italic.table-cell { -fx-font-style: italic; } 
+0

ok ..そして、特定の行の列にまたがることができますか? –

+0

この回答を見てください:https://stackoverflow.com/q/33970786/866021 –

+0

OK、正しい方向へのステップです。 ().addAll(firstNameColumn、lastNameColumn);だから、カスタムセルファクトリを実行して、ネストする必要があるかどうかを確認しますか? –

関連する問題