0

私は GWT DataGrid に慣れようとしていたところです。javadocにある例も読みました。奇妙なことは、CellTable を使用している DataGrid の例にあります 。これは単なるタイプミスですか、それとも意図的なものですか?

また、CellTableの場合は正常に機能するjavadocから次のコードをコピーしましたが、CellTableをDataGridに置き換えるとすぐに機能しなくなります。

どんな提案でも大歓迎です。

public class DataGridPOC implements EntryPoint {

  DataGrid<Contact> table = new DataGrid<Contact>();


  /**
   * A simple data type that represents a contact.
   */
  private static class Contact {
    private final String address;
    private final Date birthday;
    private final String name;

    public Contact(String name, Date birthday, String address) {
      this.name = name;
      this.birthday = birthday;
      this.address = address;
    }
  }

  /**
   * The list of data to display.
   */
  private static final List<Contact> CONTACTS = Arrays.asList(
      new Contact("John", new Date(80, 4, 12), "123 Fourth Avenue"),
      new Contact("Joe", new Date(85, 2, 22), "22 Lance Ln"),
      new Contact("George", new Date(46, 6, 6), "1600 Pennsylvania Avenue"));

  public void onModuleLoad() {

 // Add a text column to show the name.
    TextColumn<Contact> nameColumn = new TextColumn<Contact>() {
      @Override
      public String getValue(Contact object) {
        return object.name;
      }
    };
    table.addColumn(nameColumn, "Name");

    table.addColumn(nameColumn, "Birthday");

    table.addColumn(nameColumn, "Address");

    // Set the total row count. This isn't strictly necessary, but it affects
    // paging calculations, so its good habit to keep the row count up to date.
    table.setRowCount(CONTACTS.size(), true);

    // Push the data into the widget.
    table.setRowData(0, CONTACTS);

    // Add it to the root panel.
    RootPanel.get().add(table);
  }
}
4

1 に答える 1

0

この動作の理由は、グリッドの高さを明示的に指定する必要があるためだと思います。

 table.setHeight("300px");

これは私のテーブルを示しました。javadocのどこにも言及されていません。また、DataGrid の代わりに CellTable を使用する例もあります。:)

どなたかの参考になるかもしれませんので、お気軽に訂正してください。

ありがとう

于 2012-11-02T02:36:55.623 に答える