我有一个SelectItem
我通过Map
填充了这个组合在listgridfield中,所以很好,但是当我选择组合框中的任何项目而不是获取描述或map的值将键放在listgridfield中。
如何让我设置值而不是键?现在我尝试使用AddChangeHandler,但没有工作。
我收到了下一个代码:
final ListGridField measureField = new ListGridField(CdmsConstants.MEASURE_ABB, CdmsConstants.CMB_MEASURE_TITULO, 100);
final SelectItem measureComboBox = new SelectItem();
measureComboBox.setDefaultToFirstOption(false);
measureComboBox.setName(CdmsConstants.MEASURE_ABB);
measureComboBox.setTitle(CdmsConstants.CMB_MEASURE_TITULO);
measureComboBox.setDefaultValues(CdmsConstants.CMB_DEFAULT_VALUE);
measureComboBox.setType("comboBox");
measureComboBox.setVisible(true);
measureComboBox.setValueMap(result);
measureComboBox.setValidateOnExit(true);
measureField.setEditorType(measureComboBox);
在measureComboBox中当我输入变量result(即Map)并单击组合框中的任何项时,显示在组合框中的值是linckedhashmap的键,而没有项的值...我怎样才能改变这个?
非常感谢。
答案 0 :(得分:0)
如果使用数据源而不是LinkedHashMap
,则可以使用setValueField
实例的SelectItem
方法。但在这种情况下,您可以使用setValueFormatter
对象的SelectItem
方法。
答案 1 :(得分:0)
我有同样/类似的问题,我在ListGrid.setEditorCustomizer in SmartGWT可以看到的解决方案是使用SelectItem
的数据源,然后实现我自己的CellFormatter