关于datagrid可编辑表格使用Combobox多选编辑时无法选择、新增时无法保存BUG解决
在datagrid可编辑表格里面使用Combobox多选,会出现以下问题:
1、双击编辑然后点击下拉箭头会发现所有的选项都会被选中而无法再次进行选择
2、新增一行combobox选择了多个值后,该行结束编辑时,combobox列显示空白值,选择的值根本就没有设置到单元格
下面来找下原因吧。先来分析下datagrid的beginEdit的源码:
$.extend($.fn.datagrid.defaults.editors.combobox, {getValue : function(jq) {var opts = $(jq).combobox('options');if(opts.multiple){var values = $(jq).combobox('getValues');if(values.length>0){if(values[0]==''||values[0]==' '){return values.join(',').substring(1);//新增的时候会把空白当成一个值了,去掉}}return values.join(',');}elsereturn $(jq).combobox("getValue");},setValue : function(jq, value) {var opts = $(jq).combobox('options');if(opts.multiple&&value.indexOf(opts.separator)!=-1){//多选且不只一个值var values = value.split(opts.separator);$(jq).combobox("setValues", values);}else$(jq).combobox("setValue", value);}});?
到此,两个问题都解决了~~