SmartGWT中的ListGrid.setEditorCustomizer

可能重复:
Smartgwt selectitem键值问题

我正在使用setEditorCustomizer为ListGrid中的某些字段设置自定义编辑器,我的具体问题是在SelectItem上

像这样的东西:

grid.setEditorCustomizer(new ListGridEditorCustomizer() { public FormItem getEditor(ListGridEditorContext context) { SelectItem selectItem = new SelectItem(); LinkedHashMap valuesMap = new LinkedHashMap(); valuesMap.put("0","some text"); valuesMap.put("1","other text"); selectItem.setValueMap(valuesMap); } } 

请注意,我没有为每一行创建选择项。

编辑行时一切都很好,我在下拉列表中看到“一些文本”和“其他文本”但是当我没有编辑值时,我看到相应的键而不是值。

我搜索了javadoc但找不到任何东西,如果有什么不明确的请问,我会补充。

您需要在ListIridField上设置SetValueMap(),其中SelectItem也会出现(使用相同的valueMap)。

结束使用DataSource查找解决方案并将其设置在SelectItem的optionDataSource中,并将displayField和valueField设置为相应的字段。

然后,当没有编辑字段时,在ListGridField我设置了一个返回正确数据的自定义CellFormatter (这涉及返回其他值的正确数据)。

我很确定可能有一种更简单的方法,但这种方式对我有用,所以我现在就这样离开。