0

私はGwtBootstrap3にかなり慣れていないので、JavaScript関数についてはあまり知りませんが、タブでDataGridを使用してnavtabを使用しており、タブが選択されたときにデータ読み込みメソッドを呼び出す方法を探しています。 NavTabs が初期化されるときに、すべての RPC メソッドを一度に呼び出します。

これが私のコードです:

        <b:NavTabs>
            <b:TabListItem active="true" dataTarget="#tab1" text="Profile" />
            <b:TabListItem dataTarget="#tab2" text="Bundles" />
        </b:NavTabs>

        <b:TabContent>
            <b:TabPane active="true" b:id="tab1">
                <b:Column addStyleNames="{style.spacing}" size="MD_12">
                    <b:Panel>
                        <b:PanelBody ui:field="profile">
                        </b:PanelBody>
                    </b:Panel>
                </b:Column>
            </b:TabPane>

            <b:TabPane b:id="tab2">
                <b:Column addStyleNames="{style.spacing}" size="MD_12">
                    <b:Panel>
                        <b:PanelBody ui:field="bundles">
                        </b:PanelBody>
                    </b:Panel>
                </b:Column>
            </b:TabPane>

タブの場合:

<b:Well addStyleNames="{style.center-panel}">
    <gwt:DataGrid bordered="true" condensed="true" striped="true"
        hover="true" height="100%" width="100%" ui:field="profileGrid" />
</b:Well>

データをロードしないタブで AttachHandler を使用してみました。

[バンドル] タブが選択されていて、NavTabs で事前にロードする必要がないときに、RPC メソッド (loadBundlesData()) を呼び出す方法はありますか? ヘルプ/コメントをいただければ幸いです。

4

1 に答える 1

0

にクリックハンドラーを追加するだけですTabListItem

あなたのui.xmlで:

<b:NavTabs>
    <b:TabListItem active="true" dataTarget="#tab1" text="Profile" />
    <b:TabListItem ui:field="bundleListItem" dataTarget="#tab2" text="Bundles" />
</b:NavTabs>

あなたの.Javaで:

@UiHandler("bundleListItem")
public void onClickBundleListItem(ClickEvent event){
    //do the job here
}

また:

bundleListItem.addClickHandler(new ClickHandler() {
    @Override
    public void onClick(ClickEvent event) {
        // do the job
    }
});

それが役に立てば幸い。

于 2015-12-18T08:58:10.693 に答える