問題タブ [nattable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
426 参照

java - NatTable の行の色を動的に変更する

行の基準に基づいて背景の行の色を変更しようとしています。私は非常に近いですが、指を置くことができない何かがあります。(これは、基になるリストからオブジェクトを取得するのではなく、データを動的に取得するためだと思います。以下のコードのこのセクションにマークを付けました)

以下の例では、各行の色は、成功または失敗の値を持つオブジェクト (MyObj) に基づいています。myObj に成功値がある場合、行は緑色になります。myObj に失敗値がある場合、行は赤になります。myObj に値がない場合は、デフォルトの行の色を使用する必要があります。

コードを実行すると、行の色が期待どおりに表示されます。ただし、列を並べ替えると、データが新しい行インデックスに移動する間、元の行インデックスはその色を維持します。行の色は、常にその行のインデックスに固定されるのではなく、オブジェクトとともに移動すると予想されます。

その列をアルファベット順に並べ替えると、次のようになります。

以下は、例を生成するために使用するコード スニペットです。

0 投票する
1 に答える
904 参照

java - NatTable-動的列幅の設定

NatTable の列を動的に拡張したい

  • セル内の値全体を表示する
  • 親コンポジットを完全に埋める

どちらか一方はできるようですが、両方はできないようです。つまり、大きな親 Composite があり、NatTable に非常に短い値を持つ列が数列しかない場合、多くの空白スペースができます (つまり、NatTable の幅は、親の Composite の幅に比べて小さくなります)。

次のコード スニペットを試しました。

値に基づいて列のサイズが自動変更されるハイブリッドを探していると思います。テーブルがコンポジットの幅を満たさない場合は、次のいずれかが必要です。

  • テーブルが Composite 親と同じサイズになるまで、すべての列に均等に幅が追加されます。
  • テーブルがコンポジットの親と同じサイズになるまで、特定の列が余分な幅を追加します

テーブルがコンポジットの幅全体を埋め、列の値が長い場合、すべての列とそれらの切り捨てられていない値を表示するために、(必要に応じて) テーブルに水平スクロールバーがあることを確認したいと思います

これを達成する方法について誰かが洞察を持っていますか? ありがとう!

0 投票する
1 に答える
295 参照

java - NatTable で選択した行の色を変更する

デフォルトの行選択色を変更するにはどうすればよいですか? 以下のコード スニペットでは、これにアクセスする場所がわかりません。

0 投票する
0 に答える
15 参照

nattable - NatTable を左側にロックする方法

列がビューを移動するのではなく、データが列を移動しているように見えるように、左側の NatTable をロックするにはどうすればよいでしょうか? これにより、列が左側で切り取られるという問題も解決されます。

0 投票する
1 に答える
233 参照

java - イメージと背景を NatTable 行に追加する

https://eclipse.org/nattable/documentation.php?page=stylingのドキュメントを読みました。

別の構成を使用して背景の行の色と画像を簡単に追加する方法があるかどうか知りたいです。CellPainterWrapper の例のようにそれらを 1 つの構成に結合したくありません。2 つの間のロジックを分離したいからです。私の現在のコードは、画像または背景色のい​​ずれかで機能しますが、両方を行うことはできません (一番上の構成が一番下の構成をオーバーライドします)。以下は私のスニペットです:

アップデート

私はそれを機能させるために次のようなことをしました:

0 投票する
1 に答える
346 参照

java - NatTable セルの選択色の変更

行をクリックすると、行全体の色が期待どおりに変わります。ただし、マウスが置かれているセルは、行の残りの部分とは異なる色に変わります。セルが行の残りの部分とは異なる色に変更されないようにしています。

セルの選択色が設定されている場所とそれを削除する方法を見つけようとしています(セルの選択にセルの現在の背景色を使用させます)。

CellConfigAttribute の変更や登録解除などの試みに失敗しました:

しかし運がない。すべてのスタイルを順番に繰り返し処理し、これがどこから生成されているかを確認する方法がわかりません。次のような既存の方法を見たいと思っていました。

残念ながら、私が見るのは次のようなものだけで、私の状況では役に立ちません。

一般的なアドバイスが記載されているドキュメントを読みましたが、これを行う方法を示す明示的なコード サンプルは見当たりませんでした。では、セルが変更されている場所を特定し、それを防ぐ方法を教えてください。

完全な行選択に使用しているコードは次のとおりです。

0 投票する
0 に答える
118 参照

filter - Nebula NatTable の持続状態

アプリケーションの 1 つで NatTable を使用しました。nat テーブルは、XML ファイルからコンテンツをロードするために使用され、ソートおよびフィルタリング機能が実装されています。Nat テーブルの永続性に関する投稿を読みましたhttp://www.eclipse.org/nattable/documentation.php?page=persistence

このトピックは私にとって初めてなので、テーブルを閉じるときにフィルター行の状態を保存し、後でテーブルが再度読み込まれるときにフィルター行の状態を (以前に保存したように) 読み込むように実装を正常に変更することができません。この操作の手順を教えてください。PersistentNatExample を参照しました。

アプリケーションには、FilterRowHeaderComposite を拡張するクラスがあります。プロパティ オブジェクトをファイル システムに保存するために、このクラスの saveState() メソッドをオーバーライドしました。コードをデバッグし、FilterRowDataProvider クラスの saveState() メソッドに到達すると、「filterIndexToObjectMap」オブジェクトは空です。これが、フィルターの状態が期待どおりに保存およびロードされない理由であると思われます。私は何かを逃したことがありますか?

0 投票する
1 に答える
50 参照

java - CTabItem 内の NatTable の幅

多くのCTabItemsを持つCTabFolderがあります。各 CTabItem には、そのコントロールとして異なる NatTable があります。各 NatTable が作成されると、列ヘッダーはありますが、行はありません。[Populate Data] ボタンをクリックすると、各テーブルにデータが入力されます。

[Populate Data] ボタンをクリックする前に各タブを表示すると、期待どおりに列ヘッダーが表示されます。ボタンを押すと、すべてのテーブルにすべてのデータが正しく入力されていることがわかります。

[Populate Data] ボタンをクリックする前にタブを表示しないと、列ヘッダーやデータが表示されません (以前に表示しなかったタブの場合)。これは、そのタブの NatTable の幅が 0 であるためです。

「Populate Data」ボタンをクリックする前に、すべてのタブをクリックする必要はありません。タブがフォーカスされていないときに NatTable の幅を正しく設定するために、内部で行われている呼び出し (手動で呼び出す必要があるかもしれません)。

以下は私のコードサンプルです: