列表形式表单面板的设计

列表形式表单面板的设计

 

1.表单:注意column布局和form布局的结合使用

/*-----1.创建表单-----*/
var basicMsgForm = new Ext.form.FormPanel({
	width : 550,
	autoHeight : true,
	frame : true,
	layout : "form", // 整个大的表单是form布局
	buttonAlign : "center",
	labelAlign:"right",
	labelWidth : 80,
	items : [{ // 行1
		layout : "column", // 从左往右的布局
		items : [{
			columnWidth : .34, // 该列有整行中所占百分比
			layout : "form", // 从上往下的布局
			items : [{
				name:"xmfzr",
				xtype : "textfield",
				fieldLabel : "项目负责人",
				width : 90
			},{
				id:"basicId",
				name:"id",
				xtype:"textfield",
				fieldLabel:"编号",
				hidden:true,
				hideLabel:true
			},{
				id:"basicXmid",
				name:"xmid",
				xtype:"textfield",
				fieldLabel:"项目编号",
				hidden:true,
				hideLabel:true
			}]
		}, {
			columnWidth : .33,
			layout : "form",
			items : [{
				name:"tel",
				xtype : "textfield",
				fieldLabel : "联系方式",
				width : 90
			}]
		},{
			columnWidth : .3,
			layout : "form",
			items : [{
				name:"yzbm",
				xtype : "textfield",
				fieldLabel : "邮政编码",
				width : 60
			}]
		}]
	}, {	// 行2
		layout : "column",
		items : [{
			layout : "form",
			items : [{
				name:"addr",
				xtype : "textfield",
				fieldLabel : "联系地址",
				width : 420
			}]
		}]
	}, {// 行3
		layout : "column",
		items : [{
			layout:"form",
			columnWidth:.5,
			items:[{
				name:"start_date",
				xtype:"datefield",
				fieldLabel:"项目开始时间",
				readOnly :true,
	            format : 'Y-m-d',
				width:150
			}]
		},{
			layout:"form",
			columnWidth:.5,
			items:[{
				name:"end_date",
				xtype:"datefield",
				fieldLabel:"项目结束时间",
				readOnly:true,
				format:"Y-m-d",
				width:150
			}]
		}]
	}, {// 行4
		layout : "column",
		items : [{
			layout : "form",
			columnWidth : .5,
			items : [{
				name:"plan_fund",
				xtype : "textfield",
				fieldLabel : "计划安排资金",
				width : 150
				}]
		}, {
			layout : "form",
			columnWidth : .5,
			items : [{
				name:"actual_fund",
				xtype : "textfield",
				fieldLabel : "实际到位资金",
				width : 150
			}]
		}]
	}, {// 行4
		layout : "column",
		items : [{
			layout : "form",
			columnWidth : .5,
			items : [{
				name:"central_pfund",
				xtype : "textfield",
				fieldLabel : "中央财政",
				width : 150
				}]
		}, {
			layout : "form",
			columnWidth : .5,
			items : [{
				name:"central_afund",
				xtype : "textfield",
				fieldLabel : "中央财政",
				width : 150
			}]
		}]
	}, {// 行4
		layout : "column",
		items : [{
			layout : "form",
			columnWidth : .5,
			items : [{
				name:"province_pfund",
				xtype : "textfield",
				fieldLabel : "省财政",
				width : 150
				}]
		}, {
			layout : "form",
			columnWidth : .5,
			items : [{
				name:"province_afund",
				xtype : "textfield",
				fieldLabel : "省财政",
				width : 150
			}]
		}]
	}, {// 行4
		layout : "column",
		items : [{
			layout : "form",
			columnWidth : .5,
			items : [{
				name:"county_pfund",
				xtype : "textfield",
				fieldLabel : "县财政",
				width : 150
				}]
		}, {
			layout : "form",
			columnWidth : .5,
			items : [{
				name:"county_afund",
				xtype : "textfield",
				fieldLabel : "县财政",
				width : 150
			}]
		}]
	}, {// 行4
		layout : "column",
		items : [{
			layout : "form",
			columnWidth : .5,
			items : [{
				name:"other_pfund",
				xtype : "textfield",
				fieldLabel : "其他",
				width : 150
				}]
		}, {
			layout : "form",
			columnWidth : .5,
			items : [{
				name:"other_afund",
				xtype : "textfield",
				fieldLabel : "其他",
				width : 150
			}]
		}]
	},{
		layout:"column",
		items:[{
			layout:"form",
			columnWidth : .5,
			items:[{
				name:"actual_cost",
				xtype:"textfield",
				fieldLabel:"实际支出",
				width:150
			}]
		},{
			layout:"form",
			columnWidth : .5,
			items:[{
				xtype:"textfield",
				fieldLabel:"【单位】",
				value:"(  万元  )",
				width:150,
				style:"background:none;border:0px;color:blue;font-weight:bold;",
				labelStyle:"color:blue;font-weight:bold;"
			}]
		}]
	}],
	buttons : [{
		text : "确认",
		handler:function(){
			var thisForm = basicMsgForm.getForm();
			if(thisForm.isValid()){
				var submitValues = thisForm.getValues();
                //提交表单
                thisForm.submit({
                	url:"insertBasicInfo.eva?doType=insertBasicInfo",
                	method:"POST",
                	waitMsg:"保存中,请稍后...",
                	params:submitValues,
                	success:function(){
                		Ext.Msg.alert('成功', "更新项目绩效基本情况成功!");
			            basicStore.reload();
                	},
                	failure:function(form,action){
                		Ext.Msg.alert('失败', "保存项目绩效基本情况失败!");
                	}
                });
			}
		}
	},{
		text:"取消",
		handler:function(){
			basicMsgWin.hide();
		}
	}]
});

 

 

2.窗口:

/*-----2.创建窗口-----*/
 var basicMsgWin = new Ext.Window({
 	title:"项目基本情况",
 	layout:"fit",
 	closeAction:"hide",
 	modal:true,
 	items:basicMsgForm
 });

 

 

 

3.Store:

var basicStore = new Ext.data.JsonStore({
	url:"getBasicInfo.eva?doType=getBasicInfo",
	root:"data",
	fields:["id","xmid","xmfzr","tel","addr","yzbm","startDate","endDate",
	"planFund","actualFund","centralPfund","centralAfund","provincePfund",
	"provinceAfund","countyPfund","countyAfund","otherPfund","otherAfund",
	"actualCost"]
});
//加载结束后执行,把Store的值赋给Form表单
basicStore.on("load",function(){
	var basicForm = basicMsgForm.getForm();
	var basicRecords = basicStore.data;     //获取Records记录
	var basicData = basicRecords.get(0);    //获取某一行的Record的Data数据
	basicForm.findField("id").setValue(basicData.get("id"));
	basicForm.findField("xmid").setValue(basicData.get("xmid"));
	basicForm.findField("xmfzr").setValue(basicData.get("xmfzr"));
	basicForm.findField("tel").setValue(basicData.get("tel"));
	basicForm.findField("yzbm").setValue(basicData.get("yzbm"));
	basicForm.findField("addr").setValue(basicData.get("addr"));
	basicForm.findField("start_date").setValue(basicData.get("startDate"));
	basicForm.findField("end_date").setValue(basicData.get("endDate"));
	basicForm.findField("plan_fund").setValue(basicData.get("planFund"));
	basicForm.findField("actual_fund").setValue(basicData.get("actualFund"));
	basicForm.findField("central_pfund").setValue(basicData.get("centralPfund"));
	basicForm.findField("central_afund").setValue(basicData.get("centralAfund"));
	basicForm.findField("province_pfund").setValue(basicData.get("provincePfund"));
	basicForm.findField("province_afund").setValue(basicData.get("provinceAfund"));
	basicForm.findField("county_pfund").setValue(basicData.get("countyPfund"));
	basicForm.findField("county_afund").setValue(basicData.get("countyAfund"));
	basicForm.findField("other_pfund").setValue(basicData.get("otherPfund"));
	basicForm.findField("other_afund").setValue(basicData.get("otherAfund"));
	basicForm.findField("actual_cost").setValue(basicData.get("actualCost"));
});

 

 

注意在点击弹框时传递需要的ID:

......
<button class='btn1' οnclick='showCostWin("+record.get("xmid")+")'>查看</button>
......

//显示收支明细窗口
function showCostWin(xmid){
	Ext.getCmp("costXmid").setValue(xmid);//传递ID
	costWin.show();
	costStore.baseParams.xmid = xmid;
	costStore.load();
}

 

 

 

4.实体类:

public class ProjectBasicInfo {
	private int id;
	private int xmid;
	private String xmfzr;
	private String tel;
	private String addr;
	private String yzbm;
	private Date startDate;
	private Date endDate;
	private String planFund;
	private String actualFund;
	private String centralPfund;
	private String centralAfund;
	private String provincePfund;
	private String provinceAfund;
	private String countyPfund;
	private String countyAfund;
	private String otherPfund;
	private String otherAfund;
	private String actualCost;
。。。。。。set/get方法省略
}

 

5.插入数据的Servlet:(注意日期格式的转换,必须为YYYY-mm-dd才行)

ProjectBasicInfoDao dao = new ProjectBasicInfoDao();
ProjectBasicInfo basicInfo = new ProjectBasicInfo();
String id = request.getParameter("id");
if(id != null && !id.equals("")){
	basicInfo.setId(Integer.valueOf(id));
}
basicInfo.setXmid(Integer.valueOf(request.getParameter("xmid")));
basicInfo.setXmfzr(request.getParameter("xmfzr"));
basicInfo.setTel(request.getParameter("tel"));
basicInfo.setYzbm(request.getParameter("yzbm"));
basicInfo.setAddr(request.getParameter("addr"));
String startDate = request.getParameter("start_date");
String endDate = request.getParameter("end_date");
if(startDate != null && !startDate.equals("")){
	basicInfo.setStartDate(Date.valueOf(startDate));
}
if (endDate != null && !endDate.equals("")) {
	basicInfo.setEndDate(Date.valueOf(endDate));
}
basicInfo.setPlanFund(request.getParameter("plan_fund"));
basicInfo.setActualFund(request.getParameter("actual_fund"));
basicInfo.setCentralPfund(request.getParameter("central_pfund"));
basicInfo.setCentralAfund(request.getParameter("central_afund"));
basicInfo.setProvincePfund(request.getParameter("province_pfund"));
basicInfo.setProvinceAfund(request.getParameter("province_afund"));
basicInfo.setCountyPfund(request.getParameter("county_pfund"));
basicInfo.setCountyAfund(request.getParameter("county_afund"));
basicInfo.setOtherPfund(request.getParameter("other_pfund"));
basicInfo.setOtherAfund(request.getParameter("other_afund"));
basicInfo.setActualCost(request.getParameter("actual_cost"));
dao.addProjectBadicInfo(basicInfo);
 

6.Hibernate插入或更新数据方法:

/**
 * 插入或更新项目基本信息
 * @param projectBasicInfo
 */
public void addProjectBadicInfo(ProjectBasicInfo projectBasicInfo) {
	Session s = null;
	try {
		s = HibernateUtil.getSession();
		s.beginTransaction();
		s.saveOrUpdate(projectBasicInfo);
		s.getTransaction().commit();
	} catch (Throwable e) {
		logger.error(e.toString());
		HibernateUtil.endSession(s);
	} finally {
		HibernateUtil.endSession(s);
	}
}

 

 

7.后台获取Store数据的代码:

查看另一篇博文:http://zyjustin9.iteye.com/admin/blogs/2121569

 



 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值