private void addGrid() { // Grid bases: List<ColumnConfig> cc = new LinkedList<ColumnConfig>(); ColumnConfig ccName = new ColumnConfig( SetFilterModelData.PROPERTY_NAME, pmsMessages.columnHeaderName(), COLUMN_NAME_WIDTH); cc.add(ccName); ColumnConfig ccDescription = new ColumnConfig( SetFilterModelData.PROPERTY_DESCRIPTION, pmsMessages.columnHeaderDescription(), COLUMN_DESCRIPTION_WIDTH); cc.add(ccDescription); ColumnConfig ccType = new ColumnConfig( SetFilterModelData.PROPERTY_TYPE, pmsMessages.columnHeaderType(), COLUMN_TYPE_WIDTH); ccType.setRenderer( new GridCellRenderer<SetFilterModelData>() { public Object render( SetFilterModelData model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<SetFilterModelData> store, Grid<SetFilterModelData> grid) { if (model.getDTO().getType() != null) { return mapFilterTypes.get(model.getDTO().getType().toString()); } return null; } }); cc.add(ccType); ColumnModel cmOwn = new ColumnModel(cc); ListStore<SetFilterModelData> store = new ListStore<SetFilterModelData>(); grid = new Grid<SetFilterModelData>(store, cmOwn); grid.setAutoExpandColumn(SetFilterModelData.PROPERTY_NAME); grid.setStyleAttribute(BORDER_TOP_KEY, BORDER_TOP_VALUE); GridView gView = grid.getView(); gView.setForceFit(true); grid.getSelectionModel() .addSelectionChangedListener( new SelectionChangedListener<SetFilterModelData>() { @Override public void selectionChanged(SelectionChangedEvent<SetFilterModelData> se) { boolean enabled = false; if (se.getSelectedItem() != null) { enabled = true; } bEdit.setEnabled(enabled); bDelete.setEnabled(enabled); } }); add(grid); }