2012-02-29 2 views
0

У меня есть CellTable, созданный в GWT, который позволяет пользователям обновлять/удалять записи в базе данных. Такая таблица будет использоваться примерно в 10 разных местах с очень минимальными изменениями (одинаковое количество столбцов, все с одинаковым типом, просто нужно иметь возможность изменять заголовки заголовков столбцов).Как создать пользовательский класс GWT CellTable?

Как я могу создать пользовательский класс CellTable? Было бы постыдно копировать и вставлять шаблонный код везде.

ответ

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(/* ... */); 
Смежные вопросы