2

テーブルに「Name」、「Surname」、「DOB」という静的な列見出しを付けたいのですが、(コードではなく)*。ui.xmlで宣言したいと思います。

現在、私は次のようなコードを介してそれを行っています:

public PersonViewImpl extends Composite implements PersonView {
    /*Lots of code removed for clarity*/

    @UiField (provided = true) FlexTable personTable;

    public PersonViewImpl(){
        personTable.setText(0, 0, "Name");
        personTable.setText(0, 1, "Surname");
        personTable.setText(0, 2, "DOB")    
    }
}

これはPersonView.ui.xmlにあります

<g:FlexTable ui:field="personTable" />

私は何時間もグーグルで検索しましたが、それでも行きません。

4

3 に答える 3

2

UI Binder で FlexTable のセル要素を設定することはできません。おそらく、tr と td をレンダリングする独自のカスタム ウィジェットが必要です。たとえば、ここで説明したように: UiBinder としての GWT テーブル行

于 2012-01-25T06:24:32.920 に答える
1

を宣言するときprovider = true、ui バインダーはオブジェクトをインスタンス化しないため、Java クラスでインスタンス化する必要があります。正しいコードは次のとおりです。

public PersonViewImpl(){
    // enter code here
    personTable = new FlexTable();
    personTable.setText(0, 0, "Name");
    personTable.setText(0, 1, "Surname");
    personTable.setText(0, 2, "DOB");
}
于 2012-07-11T08:32:58.250 に答える
0

initWidget( uiBinder.createAndBindUi(this) );コンストラクターの最初の行がありません。

これを試して:

public class PersonViewImpl extends Composite implements PersonView {
    /*Lots of code removed for clarity*/

    @UiField (provided = true) FlexTable personTable;

    public PersonViewImpl(){
        initWidget( uiBinder.createAndBindUi(this) );
        // TODO your code
    }
}
于 2013-08-17T02:50:36.913 に答える