Extjs 分页 store处理

本文详细介绍了使用ExtJS实现查询事件代码时如何处理分页,并在store加载时进行查询参数判断,确保在查询条件变化时重置limit、page和currentPage。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Extjs 查询事件代码:
searchUserInfo : function(button){
		var grid = button.up('activityUserInfoList');
		grid.store.proxy.on('exception', function(store, response, operation) {
			showProxyError(operation);
		});
		grid.store.on('beforeload', function(store, options) {
			var keyWordsObj = grid.down('textfield[name=keywords]');
			var fieldCodeObj = grid.down('hiddenfield[name=fieldCodes]').getValue();
			//var groupName = grid.down('textfield[name=groupName]').getValue();			
			var combo =grid.down('combo[name=groupUser]');
			var groupName = combo.getRawValue();
			var fieldCodes = fieldCodeObj.split(',');
			var params = [];
			for(var i=0;i<fieldCodes.length;i++){
				var fieldCode = fieldCodes[i];
				var value = grid.down('checkboxfield[name='+fieldCode+']').getValue();
				if(value==true){
					params.push(fieldCode);
				}
			}
			var old_params = store.proxy.extraParams; //获取历史参数
			var new_params = {
				params : params.join(','),
				keyWords : keyWordsObj.getValue(),
				groupName : groupName
			};
			 if(old_params.groupName!=new_params.groupName
                	|| old_params.params!= new_params.params
                	|| old_params.keyWords != new_params.keyWords){
              	  		Ext.apply(store.proxy.extraParams, new_params);
              	  		options.limit=store.pageSize;
			      	options.page=1;
			      	options.start=0;
			      	store.currentPage=1;
              		}else{
			  	Ext.apply(store.proxy.extraParams, new_params);	
			}			   
					
		});		
		grid.store.load();
	},
使用Ext.PagingToolbar分页的查询,store加载处理时要做查询参数判断,如果查询条件发生变化需要将 limit\page\currentPage重置。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值