1

私はUIにvaadinを使用しています.@OneToMany関係を持つエンティティクラスがあるので、エンティティクラスにはリストがあります。これらの値をvaadinテーブルに表示したいのですが、その方法を誰か説明してもらえますか? ありがとう、これが私のクラスの詳細です

@OneToMany
private List<Driver> driverList = new ArrayList<Driver>()

TempLocation クラスのこのフィールド。

そのため、データからクエリを実行すると、1 つの都市とドライバーのリストが取得されます。vaadin テーブルでは、クエリ結果を 1 つの行に表示できます (複数のドライバーを持つデータベースに 1 つのレコードしかないと仮定します)。

テーブルに "Location" と "Driver" の 2 つの列があるとします。結果を複数の行に表示したいとします。リストを調べて、一度に 1 つのドライブを都市とともに表示したいとします。

現在、表にどのように表示されているか。

|ドライバー_ _ _ _ _ _ _ ____| 場所 | (テーブルヘッド)
[Driver1,Driver2,Driver3] | コロンナンワ(列)

これを表示したい

|ドライバー_ _ _ _ _ _ _ ___ | 場所 | (テーブル ヘッド)
Driver1
_ _ _ __ _ _ __ _ _ | Kolonnawa (行 1)
Driver2_ _ __ _ _ __ _ _ _ | コロンナワ (行 2)ドライバー
3_ _ _ _ _ _ _ ___ | コロンナンワ (行 3)

スペースを表示するために使用される「_」、

あなたが私が表現したいことを理解していることを願っています。誰かがこれを行う方法を教えてもらえますか? 事前にありがとうございます

ありがとう、乾杯

4

1 に答える 1

2

テーブルを埋める別の方法だけが必要な場合は、ドライバーのリストを繰り返し処理し、すべての人に 1 つの行を作成することをお勧めします (すべてのドライバーが自分の都市を知っていると仮定します)。

この例を確認してください:

/* Create the table with a caption. */
Table table = new Table("This is my Table");

/* Define the names and data types of columns.
 * The "default value" parameter is meaningless here. */
table.addContainerProperty("Driver", String.class,  null);
table.addContainerProperty("City",  String.class,  null);

/* Add a few items in the table. */
int i = 1; 
for(Driver driver : driverslist){
table.addItem(new Object[] {
driver.getName(),driver.getCity(), new Integer(i));
i++
}

addItem() メソッドの Integer は行番号用です。

テーブル コンポーネントの使用方法については、vaadin book に記載されている記事を参照してください。

于 2012-08-19T14:11:51.350 に答える