让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下,然后再使用浏览器访问。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值