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上再进行操作)