Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/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
ExtJS4-当列编辑器是组合框时,如何避免网格列值变为null?_Extjs_Datagrid_Combobox_Extjs4 - Fatal编程技术网

ExtJS4-当列编辑器是组合框时,如何避免网格列值变为null?

ExtJS4-当列编辑器是组合框时,如何避免网格列值变为null?,extjs,datagrid,combobox,extjs4,Extjs,Datagrid,Combobox,Extjs4,我在网格中有一列,编辑器作为组合框 加载网格后,所有列值都会正确显示 问题是,当用户单击列(使用combobox作为编辑器)进行编辑时,列值将变为null,如所附屏幕截图所示 我知道该值会变为null,因为combobox的存储尚未加载 由于combobox存储中存在大量数据,我无法使用autoLoad true。此外,即使我对包含分页的存储使用autoLoad:true,也只保护第一页中存在的值,而不是所有值 因此,当作为列编辑器的combobox存储区中不存在网格列中的值时,如何维护该值 有

我在网格中有一列,编辑器作为组合框

加载网格后,所有列值都会正确显示

问题是,当用户单击列(使用combobox作为编辑器)进行编辑时,列值将变为null,如所附屏幕截图所示

我知道该值会变为null,因为combobox的存储尚未加载

由于combobox存储中存在大量数据,我无法使用autoLoad true。此外,即使我对包含分页的存储使用autoLoad:true,也只保护第一页中存在的值,而不是所有值

因此,当作为列编辑器的combobox存储区中不存在网格列中的值时,如何维护该值

有人能在这方面指导吗

PS:我正在使用ExtJS版本4.0.2a


我建议让网格记录同时包含该列值和显示值。如果组合存储查找无法找到匹配的值(因为该组合存储尚未加载),则返回显示与网格记录一起存储的显示值


您可能还需要在网格更新中设置afteredit事件,即网格记录在为特定行编辑该列后显示值。

我建议网格记录同时包含该列值和显示值。如果组合存储查找无法找到匹配的值(因为该组合存储尚未加载),则返回显示与网格记录一起存储的显示值


您可能还需要在网格更新上设置afteredit事件,在为特定行编辑该列后,网格记录显示值。

我已经找到了解决方案

它与ExtJs的版本有更多的关系。如果我们升级到4.0.7,然后对组合框使用forceSelection:false,那么一切都会正常工作。也就是说,组合框接受存储中不存在的值,并且不会将当前值设置为null


希望这也能帮助其他人寻找类似的东西。

我已经找到了解决方案

它与ExtJs的版本有更多的关系。如果我们升级到4.0.7,然后对组合框使用forceSelection:false,那么一切都会正常工作。也就是说,组合框接受存储中不存在的值,并且不会将当前值设置为null


希望这也能帮助其他人寻找类似的东西。

请注意,您的图像似乎不起作用。感谢Kelyan的提及。图像是否未显示?事实上,我正在正确地看到图像。图像现在为我显示。NetEmp,你能为那个专栏发表你的文章吗?谢谢你的评论Keylan,并为在其他帖子中拼写错误而道歉。我没有为此列使用渲染器。列定义只有dataindex,它使用dataindex映射到网格存储中的数据。作为提醒,您的图像似乎无法正常工作。感谢Kelyan的提及。图像是否未显示?事实上,我正在正确地看到图像。图像现在为我显示。NetEmp,你能为那个专栏发表你的文章吗?谢谢你的评论Keylan,并为在其他帖子中拼写错误而道歉。我没有为此列使用渲染器。列定义只有dataindex,它使用该索引映射到网格存储中的数据。感谢您的帖子。您能否详细说明一下您所说的-‘让网格记录既包含该列值,又包含显示值’的确切含义?您在这里指的是哪个显示值?我从服务器收到的值在很大程度上是一个显示值,但由于存储尚未加载,所以在编辑时不会显示它。我正在考虑通过推迟forceSelection来解决此问题,以便也可以显示未存储的值。你知道吗?再次感谢。谢谢你的帖子。您能否详细说明一下您所说的-‘让网格记录既包含该列值,又包含显示值’的确切含义?您在这里指的是哪个显示值?我从服务器收到的值在很大程度上是一个显示值,但由于存储尚未加载,所以在编辑时不会显示它。我正在考虑通过推迟forceSelection来解决此问题,以便也可以显示未存储的值。你知道吗?再次感谢。