Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何限制在启用了多选的情况下取消选择smartgwt SelectItem中的所有项目?_Gwt_Smartgwt - Fatal编程技术网

如何限制在启用了多选的情况下取消选择smartgwt SelectItem中的所有项目?

如何限制在启用了多选的情况下取消选择smartgwt SelectItem中的所有项目?,gwt,smartgwt,Gwt,Smartgwt,我正在使用SelectItem组件进行配置: SelectItem selectItem = new SelectItem("SelectItem"); selectItem.setShowTitle(false); selectItem.setMultiple(true); selectItem.setMultipleValueSeparator(","); selectItem.setDefaultValue("1"); 现在我想限制用户取消选择所有项目,至少必须选择一个项目 谁能帮我限制

我正在使用SelectItem组件进行配置:

SelectItem selectItem = new SelectItem("SelectItem");
selectItem.setShowTitle(false);
selectItem.setMultiple(true);
selectItem.setMultipleValueSeparator(",");
selectItem.setDefaultValue("1");
现在我想限制用户取消选择所有项目,至少必须选择一个项目

谁能帮我限制一下吗?

Hy Suresh

这是快速解决方法

在我的示例中,您需要使用second
SelectItem
进行保存,并使用
FocusHandler

我的例子是:

LinkedHashMap<String, String> valueMap = new LinkedHashMap<>();
    valueMap.put("a", "a");
    valueMap.put("b", "b");
    valueMap.put("c", "c");
    valueMap.put("d", "d");
    valueMap.put("e", "e");
    valueMap.put("f", "f");

    final SelectItem saveSelectedItem = new SelectItem();
    saveSelectedItem.setMultiple(true);
    saveSelectedItem.setValueMap(valueMap);

    final SelectItem selectedItem = new SelectItem();
    selectedItem.setDefaultValue("Default");
    selectedItem.setMultiple(true);
    selectedItem.setTitle("Select: ");
    selectedItem.setValueMap(valueMap);
    selectedItem.addFocusHandler(new FocusHandler() {

        @Override
        public void onFocus(FocusEvent event) {
            if(selectedItem.getValue() == null){
                selectedItem.setValue(saveSelectedItem.getValue());
            }else {
                saveSelectedItem.setValue(selectedItem.getValue());
            }               
        }
    });
LinkedHashMap valueMap=新建LinkedHashMap();
valueMap.put(“a”、“a”);
价值地图。看跌期权(“b”、“b”);
valueMap.put(“c”、“c”);
价值图。看跌期权(“d”、“d”);
valueMap.put(“e”、“e”);
价值地图。出售(“f”、“f”);
final SelectItem saveSelectedItem=新建SelectItem();
saveSelectedItem.setMultiple(true);
saveSelectedItem.setValueMap(valueMap);
final SelectItem selectedItem=新建SelectItem();
选择editem.setDefaultValue(“默认”);
选择editem.setMultiple(true);
selectedItem.setTitle(“选择:”);
选择EdItem.setValueMap(valueMap);
选择editem.addFocusHandler(新FocusHandler(){
@凌驾
公众焦点无效(焦点事件){
if(selectedItem.getValue()==null){
selectedItem.setValue(saveSelectedItem.getValue());
}否则{
saveSelectedItem.setValue(selectedItem.getValue());
}               
}
});
所以,用户将能够取消/选择所有值,但该值将设置为SelectItem字段中的最后一个选定值

希望int能帮上忙

问候雅科夫