读书人

让Ext.form.ComboBox经过Dwr获取数据

发布时间: 2012-10-23 12:12:22 作者: rapoo

让Ext.form.ComboBox通过Dwr获取数据

DWRProxy既然可以用在Ext.data.Store中,那么它也可以为ComboBox服务,如代码清单10-8所示。

代码清单10-8 DWRProxy与ComboBox整合

var info = Ext.data.Record.create([{name: 'id', type: 'int'},{name: 'name', type: 'string'}]);var store = new Ext.data.Store({proxy: new Ext.data.DWRProxy(infoManager.getItems, true),reader: new Ext.data.ListRangeReader({totalProperty: 'totalSize',root: 'data',id: 'id'}, info)});var combo = new Ext.form.ComboBox({store: store,displayField: 'name',valueField: 'id',triggerAction: 'all',typeAhead: true,mode: 'remote',emptyText: '请选择',selectOnFocus: true});combo.render('combo');
?

我们既可以用mode:'remote'和triggerAction:'all'在第一次选择时读取数据,也可以设置mode:'local',然后手工操作store.load()并读取数据。

DWR要比Json-lib方便得多,而且DWR返回的数据可以直接作为JSON使用,使用Json-lib时还要面对无休无止的循环引用。

这次的示例稍微复杂一些,因为包括依赖jar包、class、XML和JSP,所以示例单独放在10.store/dwr2/下,请将它们复制到tomcat的webapps下,然后再使用浏览器访问。

?

?

?

?

1 楼 xihuan&java 2012-03-28 你好,我按照你的这种写法combobox怎么得不到数据呀?totalProperty: 'totalSize', root: 'data', id: 'id'这三个参数必须这么写吗?

读书人网 >Web前端

热点推荐