0

ユーザーがデータベース内のレコードを更新/削除できるようにするCellTableをGWTで作成しています。この種のテーブルは、最小限の変更で約10の異なる場所で使用されます(同じ数の列、すべて同じタイプで、列ヘッダーのタイトルを変更できる必要があります)。

カスタムCellTableクラスを作成するにはどうすればよいですか?ボイラープレートコードをコピーしてどこにでも貼り付けなければならないのは残念です。

4

1 に答える 1

1

つまり、CellTableの拡張を妨げるものは何もありません。他のJavaクラスと同じように拡張できます。

たとえば、次のようなCellTableを使用してみましょう。

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

TextColumn<Contact> nameColumn = new TextColumn<Contact>() { /* ... */ };  
table.addColumn(nameColumn, "Name");

TextColumn<Contact> addressColumn = new TextColumn<Contact>() { /* ... */ };
table.addColumn(addressColumn, "Address");

table.setRowData( /* ... */ );

次のように、それを独自のクラスに抽出できます。

public class MyCellTable extends CellTable<Contact>{
    public MyCellTable(String col1, String col2){
        TextColumn<Contact> nameColumn = new TextColumn<Contact>() { /* ... */ };  
        table.addColumn(nameColumn, col1);

        TextColumn<Contact> addressColumn = new TextColumn<Contact>() { /* ... */ };
        table.addColumn(addressColumn, col2);
    }
}

CellTableを拡張することにより、他のセルテーブルと同じようにセルテーブルを使用できます。

MyCellTable table = new MyCellTable("Name", "Address");
table.setRowData( /* ... */ );
于 2012-03-01T06:24:38.903 に答える