2016-07-14 53 views
0

我在表单中有一个comobobox。 组合框包含一个远程存储(带分页)作为一个巨大的数据集。extjs combobox显示字段与远程存储

组合框的值将通过使用form.setValues()的表单进行设置。 此时,组合框的商店尚未加载。

现在,如何显示组合框的值,使用按窗体设置的值加载商店。

有没有一种方法,商店将自动加载,设置值作为过滤器? (像上改变滤光器)

或者

我必须手动监听变化,引发了吗? (这是我无法实现的,因为我最终陷入混乱,试图设置值和处理不同的事件。)

+0

您使用的是什么版本的extjs?如果是extjs 5或更新版本,您可以使用数据绑定,并使用Extjs 6将过滤器的值绑定到数据字段的值 –

+0

Im – optimusPrime

回答

0

据我所知(但我可能是错的),组合框和分页不能一起工作,因为无法在组合框中切换页面,并且组合框无法过滤客户端,因为过滤器无法应用于尚未加载的页面。

您希望删除分页并将远程过滤添加到商店。然后,下拉框应根据组合中设置的值进行过滤。如果我是你,我还将定义一个最小长度,用户在组合内显示任何内容(例如3)之前必须输入的最小长度,然后在商店中添加一个beforeload事件来检查组合值的长度是3个或更多。

+1

已经存在分页并且工作正常。我的情况是:当组合字段的值由封闭表单设置时,组合将不具有显示值,因为它必须查询服务器以获取相关记录。有一个'autoLoadOnValue'配置用于此目的 - 但这种解决方案只有一半。 – optimusPrime