0

上部に 1 つのテーブル、下部に 3 つのタブで構成されるタブ シートで構成される要件があります。3 つのタブ内に 3 つの異なるテーブルが含まれています。ここでの要件は、一番上のテーブルをクリックしたときに、タブ シートの各テーブルに関連データを表示する必要があることです。

この機能は、テーブルの行をクリックすると正常に機能しますが、ここでの問題は、アプリケーションがロードされたときです。上部のテーブルでは、最初の行をデフォルトで選択する必要があり、関連データを入力してタブシートに表示する必要がありますテーブル。組み込みリスナーを使用してこれを実装するにはどうすればよいですか? 例が提供されている場合、それは非常に役立ちます。

4

1 に答える 1

0

行をクリックした後に機能が機能しているため、リスナーが正常に機能していると推測できます。

ビューを初期化した後、一番上のテーブルのメソッドを使用できると思いますmyTable.setValue(table.firstItemId())。リスナーが(たとえば)メソッドmyApplication.rowSelected(Item item)を呼び出すと仮定すると、テーブル値を設定した後に手動でこれを呼び出すことができます。

例:

void init() {
    myTable.addListener(new ItemClickEvent.ItemClickListener() {
        void itemClick(ItemClickEvent event) {
            rowSelected(event.getItem());
        }
    });

    if(!myTable.getItemIds().isEmpty()) {
        Object firstId = myTable.firstItemId();
        myTable.setValue(firstId);
        myTable.rowSelected(myTable.getItem(firstId));
    }
}

void rowSelected(Item item) {
    // Do stuff
}
于 2011-11-07T16:00:06.173 に答える