2015-05-12 33 views
0

我使用ColumnConfig来呈现和编辑数据。对于性别我希望有一个由枚举定义的RadioButton。GXT ColumnConfig中的ToggleGroup

在每一行,我想有:

ID | (x)男性()女性|名称|日期

我发现的唯一方法是添加一个“按钮”与定义的渲染代码。但在那里,我无法获得推送电台的价值观或行动。

ColumnConfig<SomeValueGto, String> begIdCol = createColumnConfig(begIdProvider, "Id", sizeBegId); 

//gender 
ColumnConfig<SomeValueGto, GenderCode> genderCol = createColumnConfig(GRID_PROPERTIES.sex(), "Sex*", sizeGender); 

ColumnConfig<SomeValueGto, String> nameCol = createColumnConfig(GRID_PROPERTIES.name(), "Name*", sizeName); 

ColumnConfig<SomeValueGto, Date> birthdateCol = createColumnConfig(GRID_PROPERTIES.birthdate(), "Birthdate*", sizeBirthdate); 
DateCell gebCell = new DateCell(DateTimeFormat.getFormat("dd.MM.yyyy")); 
geburtsdatumCol.setCell(gebCell); 

//add fields to the row 
List<ColumnConfig<SomeValueGto, ?>> columnList = new ArrayList<ColumnConfig<SomeValueGto, ?>>(); 
columnList.add(begIdCol); 
columnList.add(genderCol); 
columnList.add(nameCol); 
columnList.add(birthdateCol); 

ColumnModel<SomeValueGto> cm = new ColumnModel<SomeValueGto>(columnList); 

ListStore<SomeValueGto> gridStore = new ListStore<SomeValueGto>(GRID_PROPERTIES.id()); 

myGrid = new SLGrid<SomeValueGto>(gridStore, cm); 

// empty entries. default ids 1/2/3 
myGrid.getStore().add(new SomeValueGto(1)); 
myGrid.getStore().add(new SomeValueGto(2)); 
myGrid.getStore().add(new SomeValueGto(3)); 

final GridInlineEditing<SomeValueGto> editing = new GridInlineEditing<SomeValueGto>(myGrid); 
editing.setErrorSummary(false); 
editing.addEditor(nameCol, new TextField()); 

final SLDateField dateField = new SLDateField("date", false, true); 
editing.addEditor(geburtsdatumCol, new Converter<Date, Date>() {.....}, dateField); 

助手createColumnConfig:

private <T> ColumnConfig<SomeValueGto, T> createColumnConfig(ValueProvider<SomeValueGto, T> aValueProvider, String aHeader, int aWidth) { 
    ColumnConfig<SomeValueGto, T> columnCol = new ColumnConfig<SomeValueGto, T>(aValueProvider); 
    columnCol.setHeader(aHeader); 
    columnCol.setWidth(aWidth); 
    columnCol.setMenuDisabled(true); 

    return columnCol; 
} 

有谁已经解决这样的问题?

回答

0

GXT Grids使用com.google.gwt.cell.client.Cell在网格中呈现数据。我不认为你想要的那种细胞存在于GXT中。所以我认为你必须实现你自己的细胞。您可以举例ColorPaletteCell,允许用户从单元本身获得select a color

所以你需要实现renderonBrowserEvent方法来管理你的单选按钮,以及当用户点击它时附加什么。