Extjs多选框传值

1。首先是列表和复选框的显示(这里的sm是复选框的关键)

//弹出 查看明细的WINDOW
	function showDetail2(jjd_id){
		
		// 查选结果列表的数据源
	    var ds2 = new Ext.data.JsonStore({
	    	autoLoad:true,
		    root:'datas',
		    totalProperty:'totalSize',
		    baseParams:{
		    	start:0,
		    	limit:15
		    },
		    proxy : new Ext.data.HttpProxy({
			    url:lcwPath+"/daxt/dajj.shtml?method=getDaJjqdDetail&jjd_id=" + jjd_id,
			    method : 'POST'
			}),
			 fields: ['WJGD_ID','WJXX_NSRMC','WJXX_NSRLSH','WJXX_ND','WJXX_TYPE','WJXX_SC_TYPE','WJXX_TMBH','JJD_TMBH']
	    });
	    var sm = new Ext.grid.CheckboxSelectionModel();

		//列表的序号
		var xh_start2 = 0;
		var queryList2 = new Ext.grid.GridPanel({
			title:config.string.detail,
			id:'queryGridPanel',
	        store: ds2,
	        sm:sm,
	        region:'center',
	        height: 350,
	        selectedRowNumber:0,
			stripeRows:true,
	        enableColumnMove: true,
	        enableHdMenu: false,
	        viewConfig : {
	        	  forceFit: true
	        	 },
	        loadMask:{msg:'正在查询数据,请稍候......'},
	        cm:new Ext.grid.ColumnModel({
				columns: [ new Ext.grid.RowNumberer({
					           	 header:config.string.number,
					        	 width:35,
					        	 renderer:function(value,metadata,record,rowIndex){
					    		 	return xh_start2 + 1 + rowIndex;}
					       }),sm,
					       	  //{header:'',dataIndex:"WJGD_ID",align:'left',sortable: true,renderer:getId},
		                      {header:config.string.WJXX_NSRMC,dataIndex:"WJXX_NSRMC",align:'left',sortable: true},
		                      {header:config.string.WJXX_NSRLSH,dataIndex:"WJXX_NSRLSH",width:100,align:'left',sortable: false},
		                      {header:config.string.WJXX_ND,dataIndex:"WJXX_ND",align:'left',sortable: false},
		                      {header:config.string.WJXX_TYPE,dataIndex:"WJXX_TYPE",width:100,align:'left',sortable: false},
		                      {header:config.string.WJXX_SC_TYPE,dataIndex:"WJXX_SC_TYPE",align:'center',sortable: false},
		                      {header:config.string.WJXX_TMBH,dataIndex:"WJXX_TMBH" ,align:'center',sortable: false},
		                      {header:config.string.JJD_TMBH,dataIndex:"JJD_TMBH" ,align:'center',width:120,sortable: false,flex: 1,renderer:formatDate}
		                      
		                      ],
		          	    	defaultSortable: false
	        }),
			 tbar : [{
			     text: '调整交接单',
			     iconCls: 'btn-edit',
			     handler:showTZ,
			     scope: this
			 },{
			     text: '关闭',
			     iconCls: 'btn-close',
			     handler: function() {
			    	 win.close();
			     },
			     scope: this
			 }],
			bbar: new Ext.PagingToolbar({
				store: ds2,
	            pageSize: 10,
	            displayInfo: true,
	            emptyMsg: "未查询到记录",
	            doLoad : function(start){
	          this.store.load({params:{start:start,limit:this.pageSize}});
	           }
	        })
	    });
	
	
		var win = new Ext.Window({
	        title: config.string.ckzlqd,
	        iconCls:'menu-arch-detail',
	        closable:true,
	        maximizable : true ,
	        width:850,
	        height:400,
	        border:false,
	        plain:true,
	        layout: 'border',
	        modal : true,
	        items: [queryList2]
	    });
		
	    win.show(this);
    
    
    

}

2.获取复选框的值(蓝色部分为给之后弹出表单的隐藏域设值)

//在外定义调整表单的窗口
	var winTZ;
	function showTZ(){
		
		var list=Ext.getCmp("queryGridPanel");
		var  recordlist =list.getSelectionModel().getSelections();
		var array='';
		//alert(recordlist.length);
		for(var i=0;i<recordlist.length;i++){
			//alert(recordlist[i].get("WJGD_ID"));//取出数据
			//alert(recordlist[i].get("WJGD_ID"));
			
			if(array==null||array==''){
				array =recordlist[i].get("WJGD_ID");
			}else{
				array = array+ ','+recordlist[i].get("WJGD_ID");
			
			}

		}
		//alert(array);
		  Ext.getCmp("wjgd_id").setValue(array);	
		
		
		//初始化调整窗口
		winTZ = new Ext.Window({
			id:winTZ,
			border:false,
			maximizable:true,
			layout:'fit',
		    width:430,
		    closeAction:'hide',
		    height:300,
			resizable : false,
			shadow : true,
			modal :true,
		    closable:true,
		    bodyStyle:'padding:5 5 5 5',
		    animCollapse:true,
			items:[dataFormTZ]
		});
			winTZ.setTitle("调整交接单信息");
			winTZ.show();
			winTZ.center();//使窗口居中		
	    	
	}


3.下面是新弹出的表单

//表单项
		var dataFormTZ = new Ext.form.FormPanel({
		        labelAlign : 'right',
				bodyStyle : 'background-color:white;padding : 10px 10px 10px 10px ',
				labelSeparator : ":",
				frame:true,
				border:false,
				items : [{
	                xtype:'hidden',
	                fieldLabel: "wjgd_id",
	                id: 'wjgd_id',
	                name : 'wjgd_id',
	                anchor: '90%'
                },{
					
		    		  msgTarget : 'side',
						 id:'djlxCmb',
						 xtype : 'combo',
						 allowBlank : false,
						 editable : false, // 禁止手写及联想功能
						 blankText : "请选择交接单",
						 fieldLabel :"交接单",
						 store :combo_jjd,
						 mode : 'local',
						 emptyText : "请选择",
					     forceSelection : true,
					     selectOnFocus : true,
					     triggerAction : 'all',
					     displayField : 'text',
					     valueField : 'value',
					     hiddenName : 'jjd',
					     anchor: '90%'
			  }],
				buttons:[
						{
							id:'save_button',
							iconCls : 'btn-save',
							text : '保存',
							handler : submitFormX
						}
						,{
							iconCls : 'btn-cancel',
							text : '关闭',
							handler : function(){
								//var winTZ=Ext.getCmp('winZT');
								//winTZ.hide();		
							winTZ.hide();
							}
						}
				]
		});


4.最后是后台Action处理

/**
	 * 调整交接单项目的方法(获得 WJGD_ID和TMBH_JJD,修改表da_wjgd)
	 */
	public void tzJJD(){
		String jjd=this.getRequest().getParameter("jjd");
		String wjgd_id=this.getRequest().getParameter("wjgd_id");
		System.out.println(jjd);
		System.out.println(wjgd_id);
		String wjqdidStr[]=wjgd_id.split(",");
		int count=0;
		for(int i=0;i<wjqdidStr.length;i++){
			//获得链接
			Connection con=DatabaseUtils.getInstance().getXxgspt_db_conn();
				PreparedStatement pstmt;
				
				try {
					pstmt = con.prepareStatement("UPDATE DA_WJGD SET JJD_TMBH=? where WJGD_ID=?");
					pstmt.setString(1, jjd);
					pstmt.setString(2, wjqdidStr[i]);
					count=count+pstmt.executeUpdate();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}finally{
					try {
						con.close();
					} catch (SQLException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
				
			
		}
		if(count==wjqdidStr.length){
    		renderJsonFastSuccess();
    	}else{
    		renderJsonFastError();
    	}
	}


 5.见图(就是把交接单明细这个grid里选中的值传到调整交接单信息这个窗口里的form上再进行操作)

 


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值