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
(这涉及返回其他值的正确数据)。
我很确定可能有一种更简单的方法,但这种方式对我有用,所以我现在就这样离开。