动态获取后台最新数据的一个实现方法

当grid位于第一页时自动刷新获取数据,当grid不是第一页时不进行自动刷新可查看历史数据.
			var ds = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
					url : impStateURL,
					method : 'GET'
				}),
				reader : new Ext.data.JsonReader({
					totalProperty : 'totalProperty',
					root : 'root'
				}, [ {
					name : 'id'
				}, {
					name : 'processTime'
				},{
					name : 'fileName'
				}, {
					name : 'processMsg'
				}])
			});

			var cm = new Ext.grid.ColumnModel([ {
				header : "编号",
				width : 60,
				dataIndex : 'id',
				sortable : true
			}, {
				header : "处理时间",
				width : 130,
				dataIndex : 'processTime',
				sortable : false
			}, {
				header : "文件名",
				width : 250,
				dataIndex : 'fileName',
				sortable : false
			}, {
				header : "处理信息",
				width : 340,
				dataIndex : 'processMsg',
				sortable : false
			} ]);

			var taskInternal = 5000;
			// 定时刷新确认表格
			var ProcessInforefreshTask = {

				run : function() {
					ds.reload({
						params : {
						 start : 0,
						 limit : 15
						 }
					});
				},
				interval : taskInternal,
				scopt : this
			}
			ds.on('beforeload',function(thiz, options){
				//alert(options.params.start);
				if(0==options.params.start){
					//Ext.TaskMgr.stop(ProcessInforefreshTask);
					Ext.TaskMgr.stopAll();
					Ext.TaskMgr.start(ProcessInforefreshTask);
				}else{
					//Ext.TaskMgr.stop(ProcessInforefreshTask);
					Ext.TaskMgr.stopAll();
				}
			});
			var grid = new Ext.grid.GridPanel({
				region:'center',
				height: 430,
				ds : ds,
				cm : cm,
				loadMask : false,
				frame:true,
				viewConfig: {
					 forceFit: true,
				},
				bbar: new Ext.ux.PageSizePlugin({
	                 rowComboSelect: false,
	                 pageSize: 15,
	                 store: ds,
	                 displayInfo: true
	            })
			});
			disDialog = new Ext.Window({ // 创建对话框
				title : '处理状态查看',
				modal : true,
				layout:'fit',   
				width : 980,
				height : 430,
				closeAction : 'close',
				plain : true,
				//items : [grid],
			    items : [ new Ext.Panel({
			    	id: 'mainpanel',  
			        region: 'center',  
			        layout:'border',
			        autoScroll : true,//自动显示滚动条  
			        closable: false,  
			        items: [grid]
			    }) ],
				listeners   : {
					'close': function(){
						//Ext.TaskMgr.stop(ProcessInforefreshTask);
						Ext.TaskMgr.stopAll();
					}
				}
			});

			disDialog.show(null,function(){
				Ext.TaskMgr.start(ProcessInforefreshTask);
			});

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值