繁体   English   中英

ExtJS 4-如何避免在列编辑器为组合框时网格列的值变为空?

[英]ExtJS 4 - How to avoid grid column value becoming null when column editor is combo-box?

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

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

问题是,当用户单击列(组合框为编辑器)对其进行编辑时,该列的值将变为空,如所附的屏幕快照所示。

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

由于组合框存储中存在大量数据,我无法使用autoLoad true。 而且,即使我对带有分页的商店使用autoLoad:true,也只能保护第一页中存在的值,而不是全部。

因此,当用作列编辑器的组合框存储中不存在该值时,如何在网格列中维护该值?

有人可以指导吗?

PS:我正在使用ExtJS Ver 4.0.2a

在此处输入图片说明

我已经能够找到解决方案。

它与ExtJs的版本有关。 如果我们升级到4.0.7,然后对组合框使用forceSelection:false,那么一切将按预期进行。 也就是说,组合框接受其存储中不存在的值,并且不会将当前值设置为null。

希望这可以帮助别人也寻找类似的东西。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM