EXTjs的案例(二)

这个例子比较经典,常用的一些操作基本都包括在内了。

<script type="text/javascript">

var win=null;
	function showPanel(){
	win.show(); 
	};
(function(){


	Ext.onReady(function(){
	  Ext.Ajax.timeout = 900000;
	  	
		var devRecord = Ext.data.Record.create([    
            {name: 'usercode',mapping:'usercode'},
            {name: 'username',mapping:'username'}                   
        ]); 
		var codeRecord = Ext.data.Record.create([    
            {name: 'codevalue',mapping:'codevalue'},
            {name: 'codename',mapping:'codename'}                   
        ]); 
		var envRecord = Ext.data.Record.create([    
            {name: 'envcode',mapping:'envcode'},
            {name: 'envname',mapping:'envname'}                   
        ]);
        var spclStore = new Ext.data.Store({    
			//设定读取的地址
			autoLoad :true,
			proxy: new Ext.data.HttpProxy({url: 'getComboxValues.action?type=spclconf'}),    
			//设定读取的格式    
			reader: new Ext.data.JsonReader({    
				id:"codevalue",totalProperty:'results',root:'items',successProperty :'success'
				}, codeRecord),    
			remoteSort: true,
            listeners: {
                load: function() {
                	var spclConfCombo = Ext.getCmp('spclConfCombo');
                    spclConfCombo.setValue(spclConfCombo.getValue());
                }
            }   
		});
		
		//-----------
		var spclStore2 = new Ext.data.Store({    
			//设定读取的地址
			autoLoad :true,
			proxy: new Ext.data.HttpProxy({url: 'getTake.action?type=takelink'}),    
			//设定读取的格式    
			reader: new Ext.data.JsonReader({    
				id:"codevalue",totalProperty:'results',root:'items',successProperty :'success'
				}, codeRecord),    
			remoteSort: true,
            listeners: {
                load: function() {
                	//var spclConfCombo = Ext.getCmp('spclConfCombo');
                    //spclConfCombo.setValue(spclConfCombo.getValue());
                }
            }   
		});
		

        var envStore = new Ext.data.Store({    
			//设定读取的地址
			//autoLoad :true,
			proxy: new Ext.data.HttpProxy({url: 'getComboxValues.action?flag=prdenv'}),    
			//设定读取的格式    
			reader: new Ext.data.JsonReader({    
				id:"envcode",totalProperty:'results',root:'items',successProperty :'success'
				}, envRecord),    
			remoteSort: true
		});
    	var devStore=new Ext.data.Store({    
            //设定读取的地址
            proxy: new Ext.data.HttpProxy({url: 'getUserList.action?flag=all&role=dev'}),    
            //设定读取的格式    
            reader: new Ext.data.JsonReader({    
                id:"usercode",totalProperty:'results',root:'items',successProperty :'success'
            }, devRecord),    
            remoteSort: true,
            listeners: {
                load: function() {
                    devCombo.setValue(devCombo.getValue());
                }
            }   
        });
		var devCombo = new Ext.form.ComboBox({
            selectOnFocus:true,
            valueField:'usercode',
            hiddenName:'devCombo',
            displayField:'username',
            editable:false,
            forceSelection:true,
            triggerAction:'all',
            allowBlank:true,
            store:devStore,
            typeAhead: true,
            width:90
			});
			
		var streamRecord = Ext.data.Record.create([
            {name: 'brhcode',mapping:'brhcode'},
            {name: 'brhname',mapping:'brhname'}        
        ]); 
    	var streamStore=new Ext.data.Store({    
            //设定读取的地址
            proxy: new Ext.data.HttpProxy({url: 'getStreamList.action?flag=all&brhtype=dev'}),    
            //设定读取的格式    
            reader: new Ext.data.JsonReader({    
                id:"brhcode",totalProperty:'results',root:'items',successProperty :'success'
            }, streamRecord),    
            remoteSort: true,
            listeners: {
                load: function() {
                    streamCombo.setValue(streamCombo.getValue());
                }
            }
        });
		var streamCombo = new Ext.form.ComboBox({
            selectOnFocus:true,
            valueField:'brhcode',
            hiddenName:'streamCombo',
            displayField:'brhname',
            editable:false,
            //disabled:true,
            triggerAction:'all',
            allowBlank:true,
            store:streamStore,
            typeAhead: true,
            //mode:'local',
            width:200
            });

			
		var envCombo = new Ext.form.ComboBox({
            selectOnFocus:true,
            valueField:'envcode',
            hiddenName:'envCombo',
            displayField:'envname',
            editable:false,
            triggerAction:'all',
            allowBlank:true,
            store:envStore,
            typeAhead: true,
            width:120,
            listWidth:120,
            listeners:{
            	}
            });
		//expand 
			
		//创建工具栏组件

		var toolbar = new Ext.Toolbar([
			'-',
			'生境:',envCombo,'-',
			'开发流:',streamCombo,'-',
			'员:',devCombo,'-',
			'活动号:',
			new Ext.form.TextField({
                id: 'actquery'
            })
		]);
		var toolbar2 = new Ext.Toolbar([
			'-',
			{text : '发,iconCls:'complete',handler:deployToPrdAfter},
			'-'
		]);
		var toolbar3 = new Ext.Toolbar([
			'-','   ',
			{text : '查,iconCls:'query',handler:queryToDeploy},
			'    ','-'
		]);
		
		var toolbar4 = new Ext.Toolbar([
			'-','   ',
			{text : '申布',iconCls:'query',handler:deployToPrdBefore},
			'    ','-'
		]);
		
		//定义数据集对象

		var actStore = new Ext.data.GroupingStore({
			autoLoad :false,
			groupField:'envname',
			sortInfo:{field: 'makedate', direction: "ASC"},
			reader: new Ext.data.JsonReader({    
                id:"taskid",totalProperty:'results',root:'items',successProperty :'success'
			},
			Ext.data.Record.create([
				{name: 'actid',mapping:'actid'},
				{name: 'proposername',mapping:'proposername'},
				{name: 'handdeploy',mapping:'handdeploy'},
				{name: 'testorder',mapping:'testorder'}
			])
			),
			proxy : new Ext.data.HttpProxy({
				url : 'QueryDeployPrdBefore.action'
			}),
			listeners : {
		        'load' : function() {
					  actGrid. getSelectionModel(). selectAll();
		        }
		    }
		})
		//add by zj  start
		
		var actStore2 = new Ext.data.GroupingStore({//actStore2.insert(0,records);
			autoLoad :false,
			groupField:'envname',
			sortInfo:{field: 'makedate', direction: "ASC"},
			reader: new Ext.data.JsonReader({    
                id:"taskid",totalProperty:'results',root:'items',successProperty :'success'
			},
			Ext.data.Record.create([
				{name: 'actid',mapping:'actid'},
				{name: 'brhcode',mapping:'brhcode'},
				{name: 'brhname',mapping:'brhname'},
				{name: 'upactno',mapping:'upactno'},
				{name: 'islink',mapping:'islink'},
				{name: 'linkoperate',mapping:'linkoperate'}
			])
			),
			proxy : new Ext.data.HttpProxy({
				//url : 'QueryDeployPrdAfter.action'
			}),
			listeners : {
		        'load' : function() {
					  actGrid. getSelectionModel(). selectAll();
		        }
		    }
		})
		
		//弹出框数据集
		var actStore3 = new Ext.data.GroupingStore({
			autoLoad :false,
			groupField:'envname',
			sortInfo:{field: 'makedate', direction: "ASC"},
			reader: new Ext.data.JsonReader({    
                id:"taskid",totalProperty:'results',root:'items',successProperty :'success'
			},
			Ext.data.Record.create([
				{name: 'actno',mapping:'actno'},
				{name: 'content',mapping:'content'}
			])
			),
			proxy : new Ext.data.HttpProxy({
				//url : 'QueryDeployPrdBefore.action'
			}),
			listeners : {
		        'load' : function() {
					  actGrid3. getSelectionModel(). selectAll();
		        }
		    }
		})
		
		
		
		
		
		//add by zj  end
		//创建Grid表格组件
		var cb = new Ext.grid.CheckboxSelectionModel()
		var actGrid = new Ext.grid.EditorGridPanel({
			applyTo : 'grid-div2',
			//renderTo: 'grid-div',
			id:'actGrid',
			frame:true,
			tbar : toolbar,
			bbar : toolbar4,
			store: actStore,
			clicksToEdit:1,
			height: 480,
			width:1200,
			stripeRows : true,
			autoScroll : true,
			hideGroupedColumn:true,
			viewConfig : {
				autoFill : true
			},
			sm : cb,
			columns: [//配置表格列

				new Ext.grid.RowNumberer({
					header : '行号',
					width : 40
				}),//表格行号组件
				cb,
				{header: "测", width: 60, dataIndex: 'testname', sortable: true},
				{header: "紧", width: 60, dataIndex: 'urgeflagname', sortable: true,renderer : function(value, cellmeta, record) {
					return (value=="是")?('<span style="color:red;">'+value+'</span>'):value;
				}},
				{header: "描", width: 80, dataIndex: 'content', sortable: true,
					<%--editor:new Ext.form.TextField({
						allowBlank : false
					}),--%>
					renderer:showDetail},
				{header: "备", width: 80, dataIndex: 'remark', sortable: true,editor:new Ext.form.TextField({
						allowBlank : true
					}),renderer:showDetail},
				{header: "特", width: 70, dataIndex: 'spclconf', sortable: true
					,editor: new Ext.form.ComboBox({
						id:'spclConfCombo',
			            selectOnFocus:true,
			            valueField:'codevalue',
			            hiddenName:'spclCombo',
			            displayField:'codename',
			            editable:false,
			            forceSelection:false,
			            triggerAction:'all',
			            store:spclStore,
			            typeAhead: true,
			            width:80,
			            listWidth:100
						})
					,renderer : function(value, cellmeta, record) {
						 var index = spclStore.find(Ext.getCmp('spclConfCombo').valueField, value);
						 var recordspcl = spclStore.getAt(index);
						 var displayText = "";
						 if (recordspcl == null) {
						 	displayText = value;
						 }else {
						 	displayText = recordspcl.data.codename;
						 }
						 if(displayText != null && displayText !=""){
						 	displayText = '<span style="color:red;">' + displayText + '</span>';
						 }
						 return displayText;
					}
				},
				{header: "活", width: 180, dataIndex: 'actid', sortable: true,renderer:showDetail}
			],
        	view: new Ext.grid.GroupingView({
            	//forceFit:true,
            	hideGroupedColumn : true,
            	groupByText:'使用当前字段进行分组',
            	showGroupsText:'表格分组',
            	groupTextTpl: '{text} ({[values.rs.length]} {["个活动待更新"]})'
        	})   
            ,listeners: {   
                'render': function () {
                    toolbar3.render(this.tbar); //add one tbar   
                }                
            } 
		})
		
		//add by zj start
		
		var cb2 = new Ext.grid.CheckboxSelectionModel()
		var actGrid2= new Ext.grid.EditorGridPanel({
			applyTo : 'grid-div2',
			//renderTo: 'grid-div2',
			id:'actGrid2',
			frame:true,
			tbar : toolbar,
			bbar : toolbar2,
			store: actStore2,
			clicksToEdit:1,
			height: 480,
			width:1200,
			stripeRows : true,
			autoScroll : true,
			hideGroupedColumn:true,
			viewConfig : {
				autoFill : true
			},
			sm : cb2,
			columns: [//配置表格列

				new Ext.grid.RowNumberer({
					header : '行号',
					width : 40
				}),//表格行号组件
				cb2,
				{header: "布", width: 60, dataIndex: 'urgeflagname', sortable: true,renderer : function(value, cellmeta, record) {
					return (value=="是")?('<span style="color:red;">'+value+'</span>'):value;
				}},
				{header: "描ds", width: 80, dataIndex: 'content', sortable: true,
					<%--editor:new Ext.form.TextField({
						allowBlank : false
					}),--%>
					renderer:showDetail},
				{header: "备d", width: 80, dataIndex: 'remark', sortable: true,editor:new Ext.form.TextField({
						allowBlank : true
					}),renderer:showDetail},
				{header: "sdfsdf", width: 70, dataIndex: 'spclconf', sortable: true
					,editor: new Ext.form.ComboBox({
						id:'spclConfCombo',
			            selectOnFocus:true,
			            valueField:'codevalue',
			            hiddenName:'spclCombo',
			            displayField:'codename',
			            editable:false,
			            forceSelection:false,
			            triggerAction:'all',
			            store:spclStore,
			            typeAhead: true,
			            width:80,
			            listWidth:100
						})
					,renderer : function(value, cellmeta, record) {
						 var index = spclStore.find(Ext.getCmp('spclConfCombo').valueField, value);
						 var recordspcl = spclStore.getAt(index);
						 var displayText = "";
						 if (recordspcl == null) {
						 	displayText = value;
						 }else {
						 	displayText = recordspcl.data.codename;
						 }
						 if(displayText != null && displayText !=""){
						 	displayText = '<span style="color:red;" >' + displayText + '</span>';
						 }
						 return displayText;
					}
				},
				{header: "aaa", width: 60, dataIndex: 'actid', sortable: true,renderer:showDetail},
				{header: "aa是否有关联", width: 70, dataIndex: 'islink',
					renderer : function(value, cellmeta, record, rowIndex, columnIndex, store){
				        
						var actid=record.get('actid');
						var envcode=record.get('envcode');
						getInfo(actid,envcode);
						if(value=='0'){
							return '无';
						}else{
    						return '<a href="#" onclick="showPanel();">有</a>';
						}
					}
				},
				{header: "关联ddd操作", width: 70, dataIndex: 'linkoperate', sortable: true
					,editor:new Ext.form.ComboBox({
						id:'spclConfCombo2',
			            selectOnFocus:true,
			            valueField:'codevalue',//
			            hiddenName:'spclCombo',
			            displayField:'codename',
			            editable:false,
			            forceSelection:false,
			            triggerAction:'all',
			            store:spclStore2,
			            typeAhead: true,
			            width:80,
			            listWidth:100
						})
					
				}
			],
        	view: new Ext.grid.GroupingView({
            	//forceFit:true,
            	hideGroupedColumn : true,
            	groupByText:'使用当前字段进行分组',
            	showGroupsText:'表格分组',
            	groupTextTpl: '{text} ({[values.rs.length]} {["个活动待更新"]})'
        	})   
            ,listeners: {   
                'render': function () {
                    toolbar3.render(this.tbar); //add one tbar   
                }                
            } 
		})
		
		//add by zj  end
		//创建新增或修改书籍信息的form表单
		Ext.QuickTips.init();
		Ext.form.Field.prototype.msgTarget = 'side';//统一指定错误信息提示方式
		function showDetail(value, meta, rec, rowIdx, colIdx, ds){
			return '<div ext:qtitle="" ext:qtip="' + value + '">'+ value +'</div>';
		}
		//查询数据库字段方法
		function queryToDeploy(){
			var devPerson = devCombo.getValue();
			var devStream = streamCombo.getValue();
			var envQuery = envCombo.getValue();
			var actQuery = Ext.get('actquery').dom.value;
			var msgTip = Ext.MessageBox.show({
				title:'提示',
				width : 250,
				msg:'正在查询活动信息......',
				progress:true,
				wait:true,
				waitConfig:{
                     interval:1000
                }
			});
			actStore.load({params:{UserCode:devPerson, BrhCode:devStream,
				envCode:envQuery,actQuery:actQuery},
				callback:function afterQuery(response,options, success){
					msgTip.hide();
              		if(!success)
              		{
                	  Ext.MessageBox.alert("提示","没有待发布的活动!");
                	  actStore.removeAll();
              		}
    		 	}
    		});
			
		}
		//申请发布的函数
		function deployToPrdBefore(){
			var acts = actGrid.getSelectionModel().getSelections();
			//actStore.load();
			
			if(acts.length == 0){
				Ext.MessageBox.alert("提示","请选择待提交的活动!");
				return;
			}
			var changed = actStore.modified;
			var missed = false;
	        Ext.each(changed, function(record) {
	        	 var flag = true;	
	        	 Ext.each(acts, function(item) {
	        	 	if(record.data.actid == item.data.actid){
	        	 		flag = false;
	        	 	}
	        	 });
	        	 if(flag){
	        	 	missed = true;
	        	 }
	        });
			if(missed){
				Ext.MessageBox.confirm('提示',
					'有些记录您做了修改,但没有选择提交,是否继续?',
					function(id){
						if(id == 'yes'){
							deployActsBefore();
						}
					});
			}else{
				deployActsBefore();
			}
		}
		
		//add by zj start
		
	  function deployToPrdAfter(){
			var acts = actGrid2.getSelectionModel().getSelections();
			if(acts.length == 0){
				Ext.MessageBox.alert("提示","请选择待提交的活动!");
				return;
			}
			
			//验证是否选择下拉框
			var fl=null;
			Ext.each(acts, function(record) {
				if(record.data.linkoperate==null){
					Ext.MessageBox.alert("提示","请选择下拉框关联操作!");
					//测试
					fl=true;
					return;
				}
        	 });
			if(fl){
				return;
			}
			var changed = actStore.modified;
			var missed = false;
	        Ext.each(changed, function(record) {
	        	 var flag = true;	
	        	 Ext.each(acts, function(item) {
	        	 	if(record.data.actid == item.data.actid){
	        	 		flag = false;
	        	 	}
	        	 });
	        	 if(flag){
	        	 	missed = true;
	        	 }
	        });
			if(missed){
				Ext.MessageBox.confirm('提示',
					'有些记录您做了修改,但没有选择提交,是否继续?',
					function(id){
						if(id == 'yes'){
							deployActsAfter();
						}
					});
			}else{
				deployActsAfter();
			}
			
			
		}
		
		
		//add by zj end 
		var msgTip=null;
		var deployReturn=false;
		function hideDeployProgress(){
			deployReturn=true;
			msgTip.hide();
		}
		
		//################################################################################
		function getInfo(actid, envcode){
			Ext.Ajax.request({
				url : 'queryActivityOther.action',//+'?actid='+actid+'&envcode='+envcode,
				params : {'actid':actid,'envcode':envcode},
				method : 'POST',
				success : function(response,options){
					var result = Ext.util.JSON.decode(response.responseText);//json->object
					
					var Record = actStore3.recordType;
					for(var i=0;i<result.items.length;i++){
						if(result.items[i]!=null){
							var r = new Record(result.items[i]);//转成Record
							actStore3.insert(0,r); 
						};
					};
					
				}
			});
			
		};
		function showDeployProgress(jsonData,first,url){
			if(first){
				 msgTip = Ext.MessageBox.show({
						title:'提示',
						width : 250,
						msg:'正在发布......',
						progress:true,
						wait:true,
						waitConfig:{
		                     interval:1000
		                }
				 });
				 deployReturn=false;
				 setTimeout(function(){showDeployProgress(jsonData)},1000)
				 return ;
			}
			Ext.Ajax.request({
				url : url,
				params : {jsonData:jsonData},
				method : 'POST',
				success : function(response,options){
					var result = Ext.util.JSON.decode(response.responseText);
					if(deployReturn){

					}else if(result.busy){
						Ext.MessageBox.updateText(result.msg);
						setTimeout(function(){showDeployProgress(jsonData)},1000)
					}else{
						setTimeout(function(){showDeployProgress(jsonData)},1000);
					}
				}
			});
		}
		function deployActsBefore(){
			
			var acts = actGrid.getSelectionModel().getSelections();
        	var jsonData = "["; 
        	/*Ext.each(acts, function(record) {
				jsonData +=Ext.encode(record.data)+",";
				//record.data.indexNo = this.indexOf(record);
        	 });
        	jsonData=Ext.util.Format.substr(jsonData,0, jsonData.length-1);
        	*/
        	var appendRecordStrFn = function(record) {   
            	record.data.indexNo = this.indexOf(record);   
            	jsonData += Ext.encode(record.data) + ",";   
       	 	};   
        	Ext.each(acts , appendRecordStrFn, actStore);   
        	jsonData += "]";
			Ext.Ajax.request({
				url : 'QueryActivityViewToApplyRel.action',
				params : {jsonData:jsonData},
				timeout: 300000,
				method : 'POST',
				success : function(response,options){
					hideDeployProgress();
					var result = Ext.util.JSON.decode(response.responseText);
					alert(result);
					Ext.Msg.alert('提示',result.msg);
					for(var i = 0 ; i < acts.length ; i++){
							actStore.remove(acts[i]);
					}
					var Record = actStore2.recordType;
					for(var i=0;i<result.items.length;i++){
						var r = new Record(result.items[i]); //转成Record
						actStore2.insert(0,r); 
					};
					actStore.modified = [];
					//actStore2.load();
				},
				failure : function(response,options){
					hideDeployProgress();
					Ext.Msg.alert('提示','发布失败或超时,请联系管理员!');
				}
			});
			//actStore.load();
			showDeployProgress(jsonData,true,"QueryActivityViewToApplyRel.action");
		}
		
		//add by zj start
		function deployActsAfter(){
			var acts = actGrid2.getSelectionModel().getSelections();
        	var jsonData = "["; 
        	var appendRecordStrFn = function(record) {   
            	record.data.indexNo = this.indexOf(record);   
            	jsonData += Ext.encode(record.data) + ",";   
       	 	};   
        	Ext.each(acts , appendRecordStrFn, actStore);   
        	jsonData += "]";
			Ext.Ajax.request({
				url : 'deployActs2.action',
				params : {jsonData:jsonData},
				timeout: 300000,
				method : 'POST',
				success : function(response,options){
					hideDeployProgress();
					var result = Ext.util.JSON.decode(response.responseText);
					Ext.Msg.alert('提示',result.msg);
					for(var i = 0 ; i < acts.length ; i++){
						actStore2.remove(acts[i]);
					}
					actStore2.modified = [];
				},
				failure : function(response,options){
					hideDeployProgress();
					Ext.Msg.alert('提示','发布失败或超时,请联系管理员!');
				}
			});
			showDeployProgress(jsonData,true,"deployActs2.action");
		}
		
		//add by zj end 
		
	 var mainpanel=new  Ext.grid.GridPanel({
			//renderTo : 'grid-div2',
			region:"north",
			resizable:false,
		    id:'mainpanel',  
		    autoWidth:true,
		    frame:true,
		    store: actStore3,
		   	height: 400,//Ext.get("grid-div2").getHeight()-10,
		    width: Ext.get("grid-div2").getWidth(),
		    columns: [//配置表格列

				new Ext.grid.RowNumberer({
					header : '行号',
					width : 40
				}),
				{header: "有的补", width: 60,  sortable: true, dataIndex:'relateact'},
				{header: "关丁开发人", width: 60, sortable: true, dataIndex:'username'},
				{header: "补", width: 60,  sortable: true, dataIndex:'content'}
				
			]
		});
			var bottom= new Ext.Panel({
			id: 'bottomLogo', 
			height: 10, 
			region:"center",
			//frame:true, 
			buttonAlign: 'center',
			buttons: [ 
			 
				{ text: '关闭',
				  handler : hiddenwindow
				} 
			]
			
	});
	var panel2=new Ext.Panel({
		resizable:false,
		layout:"border", 
	    id:'panel2',  
	    autoWidth:true,  
	    frame:true,  
	    height: Ext.get("grid-div2").getHeight(),
		width: Ext.get("grid-div2").getWidth(),
	    labelAlign : 'center',
	    //region:'south',  
	    items:[mainpanel,bottom]
	}); 
		
		
		win = new Ext.Window({
			id:'win',
			resizable:false,
	 		height: Ext.get("grid-div2").getHeight(),
		    width: Ext.get("grid-div2").getWidth(),
	 		//frame:true, 
	       	closable: false, 
			modal:true,
			items: panel2,
			layout: 'fit'
			});
		//Ext.getCmp('mainpanel').hide(); 
		//Ext.getCmp('windowt').show(); 
		//win.show();
		//win.hide();
		
		function hiddenwindow(){
			win.hide();
		};
		
		
	});
	
	
	


})();
	

下面是一些常用操作的总结:

//把一个json对象转换成一个model(record):response.responseText={item:xxxx,success:xxxx}
var result = Ext.util.JSON.decode(response.responseText);
					var Record = actStore2.recordType;
					for(var i=0;i<result.items.length;i++){
						var r = new Record(result.items[i]); //转成Record
						actStore2.insert(0,r); 
					};
//把一个model(record)对象转换成一个json对象:
var acts = actGrid.getSelectionModel().getSelections();
        	var jsonData = "["; 
        	Ext.each(acts, function(record) {
				jsonData +=Ext.encode(record.data)+",";
        	 });
        	jsonData=Ext.util.Format.substr(jsonData,0, jsonData.length-1);
        	jsonData += "]";
//删除选中的数据:前台删除:
/*for(var i = 0 ; i < acts.length ; i++){
	actStore.remove(acts[i]);
}*/
//ajax与后台交互:
var actids='?';
Ext.each(acts, function(item) {
actids=actids+'actid='+item.data.actid+'&';
});
 Ext.each(acts, function(item) {
actids=actids+'envcode='+item.data.envcode+'&';
});	 
actids=Ext.util.Format.substr(actids,0, actids.length-1);
	Ext.Ajax.request({
				url : 'QueryActivityViewToApplyRel.action'+actids,
				method : 'POST',
				success : function(response,options){
					var result = Ext.util.JSON.decode(response.responseText);//json->object
					var Record = actStore2.recordType;
					for(var i=0;i<result.items.length;i++){
						var r = new Record(result.items[i]); //转成Record
						actStore2.insert(0,r); 
					};
			}
			});

//后台的一般格式为:
public class QuerAction {
	private String actid;
	private String envcode;
	private String msg;
	
	private long results;
	private List items;
	
	private boolean success;
	
	
	
	public String execute() throws Exception {
		QueryDqs = new QueryDe();
		try{
			items = qs.seleco(actid,envcode);
		    results = items.size();
			if(results < 1){
				success=false;
				return this.ERROR;
			}
			else
				success=true;
		} catch (Exception e) {
			e.printStackTrace();
			success=false;
			return this.ERROR;
		}
		return this.SUCCESS;
	}
//后台的json解析:
    public static List json2List(String jsonString, Class pojoClass){
    	List list = new ArrayList();
    	try {
	        JSONArray jsonArray = JSONArray.fromObject(jsonString);
	        JSONObject jsonObject;
	        Object pojoValue;
	        for ( int i = 0 ; i<jsonArray.size(); i++){
	            jsonObject = jsonArray.getJSONObject(i);
	            pojoValue = JSONObject.toBean(jsonObject,pojoClass);
	            list.add(pojoValue);
	        }
	    }catch(Exception e){
	    	e.printStackTrace();
	    }
        return list;
    }



//刷新:
actStore.load({params:{UserCode:devPerson, BrhCode:devStream,
				envCode:envQuery,actQuery:actQuery},
				callback:function afterQuery(response,options, success){
					msgTip.hide();
              		if(!success)
              		{
                	  Ext.MessageBox.alert("提示","没有待发布的活动!");
                	  actStore.removeAll();
              		}
    		 	}
});


//获取一个组建id为textF的值(文本域)
var actQuery = Ext.get('textF').dom.value;


//出发时间的时候刷新URL
actStore.load({params:{UserCode:devPerson, BrhCode:devStream,
				envCode:envQuery,actQuery:actQuery},
				callback:function afterQuery(response,options, success){
					msgTip.hide();
              		if(!success)
              		{
                	  Ext.MessageBox.alert("提示","没有待发布的活动!");
                	  actStore.removeAll();
              		}
    		 	}
    		});

//菜单加载和后边数据页面显示:
function buildTree(node){
	var tn = new Ext.tree.TreeNode({
		text : node.name,
		url : node.url,
		leaf : node.nodeList.length==0,
		expanded : true//默认展开根节点
	});
	for(var i=0;i<node.nodeList.length;i++){
		tn.appendChild(buildTree(node.nodeList[i]));
	}
	return tn;
}
function getTreeRoot2(){
    Ext.MessageBox.show({   
               title:'请稍候',   
               msg:'正在加载菜单,请耐心等待...',   
                progress:true
           });  
	var root=null;
	var conn = Ext.lib.Ajax.getConnectionObject().conn; 
	conn.open("GET", 'ree.action?r='+Math.random(),false); 
	conn.send(null);
	var json = Ext.util.JSON.decode(conn.responseText);
	root=buildTree(json.node);
	Ext.MessageBox.hide();   
	return root;
}
	Ext.onReady(function(){
		Ext.BLANK_IMAGE_URL = 'extjs/resources/images/default/s.gif';
		var username = '<%=tUsername%>';
		var role = '<%=tRole%>';
		var root = getTreeRoot2();
		var menu = new Ext.tree.TreePanel({
			border : false,
			root : root,
			hrefTarget : 'mainContent',
			listeners : {
				click : function(node,e){
					mainPanel.load({
						url:node.attributes.url,
						callback : function(){
							mainPanel.setTitle('<新版本>'+node.text+node.attributes.url);
						},
						scripts: true
					});
				}
			}
		});
		new Ext.Viewport({
			title : 'Ext.Viewport示例',
			layout:'border',//表格布局
			items: [{
				title : '用户:'+username,
				items : menu,
				split:true,
				autoScroll:true,
				collapsible: true,
				region:'west',//指定子面板所在区域为west
				width: 150
			},{
				title: '首页',
				contentEl : 'aboutDiv',
				collapsible: true,
				autoScroll:true,
				id : 'mainContent',
				region:'center'//指定子面板所在区域为center
			}]
		});
		var mainPanel = Ext.getCmp('mainContent');
	});



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值