}
}
public Canvas getViewPanel() {
Canvas canvas = new Canvas();
DataSource countryDS = new DataSource();
countryDS.setClientOnly(true);
DataSourceTextField countryCode = new DataSourceTextField("countryCode", "Code");
countryCode.setPrimaryKey(true);
countryCode.setCanEdit(false);
DataSourceTextField countryName = new DataSourceTextField("countryName", "Country");
DataSourceTextField capital = new DataSourceTextField("capital", "Capital");
countryDS.setFields(countryCode, countryName, capital);
countryDS.setOperationBindings();
OperationBinding fetch = new OperationBinding(DSOperationType.FETCH, "data/dataIntegration/xml/responses/country_fetch.xml");
OperationBinding add = new OperationBinding(DSOperationType.ADD, "data/dataIntegration/xml/responses/country_add.xml");
OperationBinding update = new OperationBinding(DSOperationType.UPDATE, "data/dataIntegration/xml/responses/country_update.xml");
OperationBinding remove = new OperationBinding(DSOperationType.REMOVE, "data/dataIntegration/xml/responses/country_remove.xml");
countryDS.setOperationBindings(fetch, add, update, remove);
final ListGrid countryGrid = new ListGrid();
countryGrid.setWidth(500);
countryGrid.setHeight(224);
countryGrid.setDataSource(countryDS);
countryGrid.setEmptyCellValue("--");
ListGridField codeField = new ListGridField("countryCode");
ListGridField nameField = new ListGridField("countryName");
ListGridField capitalField = new ListGridField("capital");
ListGridField continentField = new ListGridField("continent", "Continent");
countryGrid.setFields(codeField, nameField, capitalField, continentField);
countryGrid.setSortField(0);
countryGrid.setDataPageSize(50);
countryGrid.setAutoFetchData(true);
canvas.addChild(countryGrid);
final IButton addButton = new IButton("Add new Country");
addButton.setLeft(0);
addButton.setTop(240);
addButton.setWidth(150);
addButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
countryGrid.addData(new CountryRecord("A1", "New Value", "New Value", "New Value"));
addButton.disable();
}
});
canvas.addChild(addButton);
final IButton updateButton = new IButton("Update Country (US)");
updateButton.setLeft(175);
updateButton.setTop(240);
updateButton.setWidth(150);
updateButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
countryGrid.updateData(new CountryRecord("US", "Edited Value", "Edited Value", "Edited Value"));
updateButton.disable();
}
});
canvas.addChild(updateButton);
final IButton removeButton = new IButton("Remove Country (UK)");
removeButton.setLeft(350);
removeButton.setTop(240);
removeButton.setWidth(150);
removeButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
CountryRecord record = new CountryRecord();
record.setCountryCode("UK");
countryGrid.removeData(record);
removeButton.disable();
}
});
canvas.addChild(removeButton);
return canvas;
}