Когда вы имеете в виду итоговые значения, я не совсем уверен, что вы имеете в виду, но это похоже на ваш код, но я добавил кнопку, которая добавит строку, которую вы, как вы можете это сделать, и просто добавит строку.
/**
* Entry point classes define <code>onModuleLoad()</code>.
*/
public class TestGwt implements EntryPoint {
private static class Contact {
private final String address;
private final String name;
public Contact(String name, String address) {
this.name = name;
this.address = address;
}
}
private static List<Contact> CONTACTS = Arrays.asList(new Contact("John",
"123 Fourth Road"), new Contact("Mary", "222 Lancer Lane"), new Contact(
"Zander", "94 Road Street"));
/**
* This is the entry point method.
*/
public void onModuleLoad() {
// Create a CellTable.
final CellTable<Contact> table = new CellTable<Contact>();
// Create name column.
TextColumn<Contact> nameColumn = new TextColumn<Contact>() {
@Override
public String getValue(Contact contact) {
return contact.name;
}
};
// Make the name column sortable.
nameColumn.setSortable(true);
// Create address column.
TextColumn<Contact> addressColumn = new TextColumn<Contact>() {
@Override
public String getValue(Contact contact) {
return contact.address;
}
};
// Add the columns.
table.addColumn(nameColumn, "Name");
table.addColumn(addressColumn, "Address");
// Create a data provider.
ListDataProvider<Contact> dataProvider = new ListDataProvider<Contact>();
// Connect the table to the data provider.
dataProvider.addDataDisplay(table);
// Add the data to the data provider, which automatically pushes it to the
// widget.
final List<Contact> list = dataProvider.getList();
for (Contact contact : CONTACTS) {
list.add(contact);
}
// We know that the data is sorted alphabetically by default.
table.getColumnSortList().push(nameColumn);
Button add = new Button("Add Row");
add.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
list.add(new Contact(Integer.toString(table.getRowCount()),Integer.toString(table.getRowCount())));
}
});
// Add it to the root panel.
RootPanel.get().add(table);
RootPanel.get().add(add);
}
}
Надеюсь, это поможет. Я не уверен, что вы имеете в виду под общим, хотя в это окончательное поле в виде контакта можно добавить что угодно, даже если оно не обязательно, лучше использовать Generics для провайдера данных.но это даст тот же эффект с минимальным кодом