Extjs多选框传值

来源:互联网 发布:史蒂芬金 it 编辑:程序博客网 时间:2024/06/04 18:37

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

//弹出 查看明细的WINDOWfunction 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 blocke.printStackTrace();}finally{try {con.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}if(count==wjqdidStr.length){    renderJsonFastSuccess();    }else{    renderJsonFastError();    }}


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

 


 

0 0
原创粉丝点击