我如何创建自定义GWT CellTable类?

时间:2012-02-29 18:55:03

标签: java gwt gwt-2.2-celltable custom-cell celltable

我在GWT中创建了一个CellTable,允许用户更新/删除数据库中的记录。这种表格将在大约10个不同的地方使用,变化非常小(列数相同,所有类型相同,只需要能够更改列标题标题)。

我将如何创建自定义CellTable类?在任何地方复制和粘贴样板代码都是一种遗憾。

1 个答案:

答案 0 :(得分: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( /* ... */ );