1

我有一个SelectItem我填写的Map,这个组合在一个listgridfield中,所以很好,但是当我选择组合框中的任何项目而不是获取地图的描述或值时,会将键放在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 当我放置变量结果(即 Map)并单击组合的任何项目时,显示在组合框中的值是 linckedhashmap 的键,而不是项目的值......我怎么能做出改变吗?

非常感谢。

4

2 回答 2

0

我有同样/类似的问题,我的解决方案可以在这里看到SmartGWT 中的 ListGrid.setEditorCustomizer是使用数据源,SelectItem然后实现我自己的CellFormatter

于 2012-08-22T18:17:48.087 回答
0

如果您使用数据源而不是LinkedHashMap,则可以使用实例setValueField方法。SelectItem但在这种情况下,您可以使用对象setValueFormatter的方法SelectItem

于 2012-05-13T17:22:38.837 回答