Java smartgwt在ComboBoxItem中添加空行或允许用户设置空值

Java smartgwt在ComboBoxItem中添加空行或允许用户设置空值,java,user-interface,smartgwt,Java,User Interface,Smartgwt,我试图在smartgwt的ComboBoxItem中添加带有null值的空行,该行已绑定到来自数据库的数据源 我也尝试过在服务层、控制器层和数据库中进行更改,但我的上级不推荐这样做 我只需要在UI层上进行更改 看看SmartGWT showcase演示。我想这是你想要的 下面是从该演示的代码中摘录的(尽管我建议您查看并研究代码,以了解您的最佳情况): LinkedHashMap hashMap=新建LinkedHashMap(); put(“**空值**”,“无”); hashMap.put(“

我试图在
smartgwt
的ComboBoxItem中添加带有null值的空行,该行已绑定到来自数据库的数据源

我也尝试过在服务层、控制器层和数据库中进行更改,但我的上级不推荐这样做

我只需要在
UI层
上进行更改

看看SmartGWT showcase演示。我想这是你想要的

下面是从该演示的代码中摘录的(尽管我建议您查看并研究代码,以了解您的最佳情况):

LinkedHashMap hashMap=新建LinkedHashMap();
put(“**空值**”,“无”);
hashMap.put(“-1”,“不适用”);
ComboBoxItem ComboBoxItem=新ComboBoxItem();
setName(“filteredCombo”);
setTitle(“选择一个项目(组合框)”);
comboBoxItem.SetAddUnknownValue(false);
comboBoxItem.setOptionDataSource(ItemSupplyXmlDS.getInstance());
comboBoxItem.setDisplayField(“itemName”);
comboBoxItem.setValueField(“itemID”);
comboBoxItem.setPickListWidth(300);
comboBoxItem.setPickListFields(skuField、itemNameField);
comboBoxItem.setSpecialValues(hashMap);
comboBoxItem.SetSeparateSpecialValue(true);
看看SmartGWT showcase演示。我想这是你想要的

下面是从该演示的代码中摘录的(尽管我建议您查看并研究代码,以了解您的最佳情况):

LinkedHashMap hashMap=新建LinkedHashMap();
put(“**空值**”,“无”);
hashMap.put(“-1”,“不适用”);
ComboBoxItem ComboBoxItem=新ComboBoxItem();
setName(“filteredCombo”);
setTitle(“选择一个项目(组合框)”);
comboBoxItem.SetAddUnknownValue(false);
comboBoxItem.setOptionDataSource(ItemSupplyXmlDS.getInstance());
comboBoxItem.setDisplayField(“itemName”);
comboBoxItem.setValueField(“itemID”);
comboBoxItem.setPickListWidth(300);
comboBoxItem.setPickListFields(skuField、itemNameField);
comboBoxItem.setSpecialValues(hashMap);
comboBoxItem.SetSeparateSpecialValue(true);

“无法共享代码”?真正地你是否完全无法想出一个能证明你的问题的答案?如果是这样的话,那么你真的不能指望有人能给出答案,是吗?@TobySpeight别对这家伙太苛刻了。我认为不需要代码来正确回答这个问题,因为这是一个一般性的“操作”问题,而不是“我的代码有什么问题”问题。“不能共享代码”?真正地你是否完全无法想出一个能证明你的问题的答案?如果是这样的话,那么你真的不能指望有人能给出答案,是吗?@TobySpeight别对这家伙太苛刻了。我不认为需要代码来正确回答这个问题,因为这是一个一般的“操作”问题,而不是“我的代码出了什么问题”。嘿@Carlosierra,你的解决方案似乎适合我。但在我的smartgwt中,这些方法设置了特殊值(LinkedHashMap hashMap);并设置单独的特殊值(true);不存在,可能是由于版本3.0p。我说的对吗?我对v3.0p不是很熟悉,但我想这可能是真的。你不能升级到最新版本吗?嗨@Carlosierra,此功能是6.0版的。我和团队讨论过。不,我们无法升级到最新版本。在起始位置再次卡住。是否有其他方法可以操作数据源或通过任何其他方法。想到的一种方法是将此ComboBoxItem绑定到指定了自定义获取操作(在ds.xml数据源描述符中)的数据源。在执行提取操作时调用的服务器类可以执行原始DSRequest,然后在将其返回到客户端之前将“空”行添加到DSResponse数据中。嘿@Carlosierra,您的解决方案似乎适合我。但在我的smartgwt中,这些方法设置了特殊值(LinkedHashMap hashMap);并设置单独的特殊值(true);不存在,可能是由于版本3.0p。我说的对吗?我对v3.0p不是很熟悉,但我想这可能是真的。你不能升级到最新版本吗?嗨@Carlosierra,此功能是6.0版的。我和团队讨论过。不,我们无法升级到最新版本。在起始位置再次卡住。是否有其他方法可以操作数据源或通过任何其他方法。想到的一种方法是将此ComboBoxItem绑定到指定了自定义获取操作(在ds.xml数据源描述符中)的数据源。在执行提取操作时调用的服务器类可以执行原始的DSRequest,然后将“空”行添加到DSResponse数据中,然后再将其返回给客户端。
LinkedHashMap<String,String> hashMap = new LinkedHashMap<String,String>();  
hashMap.put("**EmptyValue**", "None");  
hashMap.put("-1", "Not Applicable");  

ComboBoxItem comboBoxItem = new ComboBoxItem();  
comboBoxItem.setName("filteredCombo");  
comboBoxItem.setTitle("Choose an item (ComboBox)");  
comboBoxItem.setAddUnknownValues(false);  
comboBoxItem.setOptionDataSource(ItemSupplyXmlDS.getInstance());  
comboBoxItem.setDisplayField("itemName");  
comboBoxItem.setValueField("itemID");  
comboBoxItem.setPickListWidth(300);  
comboBoxItem.setPickListFields(skuField, itemNameField);  
comboBoxItem.setSpecialValues(hashMap);  
comboBoxItem.setSeparateSpecialValues(true);