問題タブ [tableviewer]
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.
java - JFaceTableViewerをSWTテーブルに追加します
ツールでは、作業中です。テーブルがあり、次のように追加します。
うまく機能しますが、今度はJFaceテーブルビューアを追加したいと思いますが、そのドキュメントはTableLayoutsのみに関係しているようで、Tablesには関係していないようです。TableViewerがテーブルに追加されると思いましたか?
button - TableViewerColumn の JFace ボタン
TableViewerColumn にボタンを配置することは可能ですか? これを確認する投稿がいくつかありますが、実際に機能するコードは見つかりませんでした。DialogCellEditor についても読んだことがありますが、それを調べる必要がありますか?
よろしく、マーカス
java - Jfaceテーブルビューアをスクロールロックするには?
非常に迅速に更新されるテーブル ビューアがあり、Eclipse コンソール ビューのようにテーブル ビューアをスクロール ロックしたいと考えています。
Eclipse でコンソールビューをプラグインスパイしようとしましたが、探していたものが見つかりませんでした
それを行うためのヒントはありますか?
java - ベストプラクティス-SWTテーブル、TableViewer、EditingSupport
メインGUIにテーブルを追加しています。それは表示され、表示されるはずのデータがあります。しかし、私はコードが非常に混乱していて、正しく構造化されていないように感じます。適切なコードを適切な場所に配置するために、SWTを頻繁に使用する人を探しています。
クラスA-メインGUITableViewer
クラスB-(ArrayList
)テーブルのデータ/クラスB1-ArrayList
構造のデータモデル
クラスA-作成するためのメソッドがありますTableViewer
クラスAにもcreateColumns()
メソッドとcreateTableViewerColumn()
メソッドがあります。
質問1:これはGUIクラスにテーブルを追加するためのベストプラクティスですか?GUIクラスの多くのコードのようです。
質問2:createColumns()
メソッドとcreateTableViewerColumn()
メソッドをクラスBに移動する必要がありますか?
質問3:テーブルの最後の列はドロップダウン/コンボボックスになります。したがって、1つのクラスを。で拡張する必要がありEditingSupport
ます。クラスAまたはクラスBのどちらにする必要がありますか?
このプロジェクトをさらに進める前に、正しく構造化されていることを確認したいと思います。
java - SWT - テーブルとテーブルビューアー
SWT を使用して新しいプロジェクトを作成しています。プロジェクトには 3 つまたは 4 つの異なるテーブルがあります。私は SWT にかなり慣れていないので、 だけを使用するべきか、 を使用するべきかを自問してTable
いますTableViewer
。
Table
いつ のみを使用するか、およびいつ aTableViewer
が最適なルートであるかについて、いくつかの優れたガイドラインを学びたいと思っています。
TableViewer
の代わりにを使用する利点は何Table
ですか?- すべてのテーブルに
TableViewer
? - テーブルのデータを操作している場合
Table
、最善の方法はありますか?
プロジェクトを作成するときは、明確にしたいので、正しい方法で作成します。
編集
Tablemodel
最初のテーブルに使用するクラスを作成しました。ただし、createColumns
メソッドはその特定のテーブルに特化しています。
TableViewer
テンプレートクラスを持つことは可能ですか?
別のテーブルで使いやすいようにメソッドを変更できますか?
メソッドのスニペットを次に示します。
swt - SWT - TableViewer - 選択の更新
メソッドを実行するボタンがあります。このメソッドは、テーブルで選択された行を取得し、それらを配列リストに追加します。これは、初めて実行したときにうまく機能します。ただし、ユーザーが間違った行を選択した場合は、別の行を選択し直して、その選択データを arraylist に追加できます。
しかし、私の現在のコードでは、最初に選択したデータが常に配列リストに追加されるときに、ユーザーがどの行を選択しても問題ありません。ユーザーが新しい行を選択する前に、選択をリセットまたは更新する必要があるようなものです。
ボタンコード
メソッドコード
これを書いているとき、おそらく問題は getSelectionIndices() にあると思います。選択された行数を取得しているようですが、実際の行番号ではありません
編集
問題は私の論理にありました。正しいインデックスを取得していましたが、for ループで i 変数を使用して値を取得していました。
に変更しました
そして、それは私が思ったように機能します
java - テーブルの列に削除ボタンを追加する
テーブルのセルに[削除]ボタンを追加することはできますか?
5列のテーブルがあり、6列目を追加したいと思います。6列目に各行に削除ボタンを配置したいと思います。
行の例:
| 10002 | パート| 金属| 001 | はい| Remove |
そうすれば、ユーザーはボタンをクリックするだけで不要な行を削除できます。
テーブルにマークアップ列がありますComboBox
。を拡張するクラスを作成しましたEditingSupport
。
別のクラスを拡張する必要がありEditingSupport
ますが、代わりにボタンを作成しますComboBox
か?
編集
編集
java - 多くの視聴者、1つまたは複数のコンテンツプロバイダー/日食RCPのドメインモデル
Eclipse RCPでのモデル、コンテンツプロバイダー、およびテーブルビューアーの使用について質問があります。
このトピックに適したチュートリアルや例が見つかりません。
複数のテーブルビューアに表示する必要があるデータモデルを設計する適切な方法は何ですか。視聴者ごとにコンテンツプロバイダーを作成する必要がありますか、それとも同じデータを表示する複数の視聴者にコンテンツプロバイダーのインスタンスを1つだけ作成する必要がありますか?
別の質問。コンテンツプロバイダーのインスタンスを多数作成する必要がある場合、ドメインモデルのインスタンスを1つ作成する必要がありますか、それともコンテンツプロバイダーごとに複数のインスタンスを作成する必要がありますか?
モデルが変更された場合(要素の追加/要素の削除/要素の更新)、ユーザーにビューを更新するように各ビューアーに通知したいですか?インターネットには多くのチュートリアルと例がありますが、それらは1つのビューアシナリオのみに基づいています。誰かがこのトピックにもう少し光を当てることができますか?ありがとう。
java - SWT - テーブル ビューアー - 列を非表示にして列から値を取得する
テーブルのデータから配列リストを作成しようとしています。表示されている列から値を取得する必要がありますが、テーブルに表示されていない列からも値を取得する必要があります。Table Viewer で SWT を使用していますが、テーブルに列を表示しない方法がわかりません。また、列名を指定してテーブルからデータを取得する方法もわかりません。
私はずっとSwingを使ってきたので、テーブルモデルクラスをずっと使ってきました。Swing では、列を作成し、非表示にし、そこからデータを取得するのは非常に簡単です。
これは、以前の Swing プロジェクトで行った方法です。
私のテーブルモデルクラスでは:
そうしてgetValueAt()
そのため、他のクラスのテーブルからデータが必要になったとき、私がしなければならなかったのは
を設定することで、列を簡単に非表示にすることもできますMAX_COLUMNS
。
質問:
テーブルビューアを使用して、表示されないが値を含む列をテーブルに追加する方法を学ぶ必要があります。
テーブルから値にアクセスする方法を学ぶ必要があるため、列から可視データと非可視データの配列を作成できます。
これは、Table Viewer を使用しても可能ですか?
swt - SWT - 表の行 - フォントの色の変更
いずれかの列の値に基づいて行のフォントの色を変更することはできますか?
私のテーブルには、ステータスを表示する列があります。列の値は、失敗または成功のいずれかになります。
成功した場合、その行のフォントを緑色にしたいと思います。ステータスが Failed の場合、行のフォントを赤にしたいと思います。
これは可能ですか?もしそうなら、どこにロジックを配置しますか?
編集
これが私のTable Viewerコードです。すべての列を表示するのではなく、いくつかの列だけを表示します