GXT ColumnConfig中的ToggleGroup

时间:2015-05-12 11:47:33

标签: gwt cell gxt

我使用ColumnConfig来呈现和编辑数据。对于性别,我想拥有一个由枚举定义的RadioButtons。

我希望拥有的每一行:

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;
}

有没有人已经解决了这样的问题?

1 个答案:

答案 0 :(得分:0)

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

因此,您需要实施renderonBrowserEvent方法来管理您的单选按钮以及用户点击它时附加的内容。