3

TableColumns で構成される Tableview を使用し、カスタム css によってスタイル設定された JavaFX アプリケーションがある場合に、この問題が発生しています。

すべてがうまく機能しており、データをテーブル/セルにスムーズに追加できます。ただし、ユーザーに部分的なデータのみを表示したい場合は、(ユーザーの要件に合わせてデータを操作するのではなく) css ソリューションが最適です。

私は標準のcssを調べていて、「display: none」が選択された行を非表示にしながらデータをそのまま保持するための最適なソリューションであることがわかりましたが、JavaFXではこれがサポートされていないようです.

ニーズに合わせてセルのデータを変更する方法を手動でハッキングする以外に、良い解決策を見つけることができないようです。

私はexにsetCellFactoryを使用しました。テキストまたはセルをさまざまな色で強調表示すると、これはうまく機能します。しかし、アプリケーションの全体的なエクスペリエンスを台無しにすることなくセルを表示しないための解決策はないようです。

誰かが同様の問題を抱えていて、実用的な解決策を見つけましたか?

4

2 に答える 2

3

CSSを使いたい場合

すべてNodevisibilitycssプロパティ
JavaFX CSSリファレンス
がある ので、試してみます:

visibility: hidden;

しかし、それが行全体を非表示にするかどうかはわかりませんが、問題が発生した場合はLabel、各セルの内部を非表示にすることができます


編集:

そして、この回避策はどうですか:

-fx-text-fill: transparent;

各行またはLabel
これはテキストを「非表示」にしますが、行は表示されたままになります
テストされていません。単なるアイデアです


編集 (2):

これは次のことに役立ちます。

-fx-cell-size: 0;

行の各セルについて
しかし、これはあなた自身のアイデアの一部です

于 2015-06-24T12:52:21.197 に答える
1

CSS プロパティはありません-fx-visibilityが、次のように組み合わせて使用​​することで回避できます。

-fx-pref-width: 0;
-fx-opacity: 0;
于 2020-03-26T12:12:55.097 に答える