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);