`
ami1984
  • 浏览: 25633 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

ExtJs3.4项目应用备忘--PAJZ12RepInfo.jsp

 
阅读更多
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<html>
<head>
	<title>化验信息</title>
	<!-- 页面编码方式最好是utf-8,否则使用ext有可能乱码 -->
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/extjs/resources/css/ext-all.css" />
	<script type="text/javascript" src="<%=request.getContextPath()%>/extjs/adapter/ext/ext-base.js"></script>
	<script type="text/javascript" src="<%=request.getContextPath()%>/extjs/ext-all.js"></script>
	<!-- 注意:引入本地化文件最好加上 charset="utf-8",这样如果页面编码方式不是utf-8,ext中也不会出现乱码。-->
    <script type="text/javascript" src="<%=request.getContextPath()%>/extjs/ext-lang-zh_CN.js" charset="utf-8"></script>
	
	<script type="text/javascript">

		Ext.onReady(function(){
		
			var comms = "";
			var oth = "";
			// 获得父窗口的对象   
		   	var parentwin = window.dialogArguments;
		   	var sqbh = parentwin.document.getElementsByName("SQBH")[0].value; //申请编号
		   	var nd = sqbh.substring(0,4);//年度
			var sqdw = parentwin.document.getElementsByName("SQDW")[0].value;//申请单位
			var xmz = sqdw.split("┆")[0];//项目组
			var dq = parentwin.document.getElementById("dq").value;//地区
		   	var jh = parentwin.document.getElementById("jh").value; //井号
		   	var cw = parentwin.document.getElementById("cw").value; //层位
		   	//获取查询参数
			var params = parentwin.document.getElementById("addReInfo").value; //获取查询结果;
			if(params != null){
				var arr = params.split("==");
				comms = arr[0];
				oth = arr[1];
			}
			
			//列定义
		    var cm = new Ext.grid.ColumnModel([
		        new Ext.grid.RowNumberer(),//生成编号
		        {
		        	header:'<center>分析化验项目</center>', //列名称
		        	dataIndex:'FXHYXM', //列对应的字段
		        	width:150 //列宽度
		        },
		        {
		        	header:'<center>采样规格</center>', 
		        	dataIndex:'CYGG', 
		        	width:150,
		        	editor: new Ext.grid.GridEditor( //可以编辑
			            new Ext.form.TextField({ //普通的文本输入框
			                allowBlank: false //不允许填充空值
			            })
        		 	)
		        },
		        {
		        	header:'<center>采样数量</center>', 
		        	dataIndex:'CYSL',
		        	width:50,
		        	align:'right',
		        	editor: new Ext.grid.GridEditor( 
			             new Ext.form.NumberField({ //数字输入框
			                allowBlank: false,
			                allowNegative:false
			            })
        		 	)
		        },
		        {
		        	header:'<center>备注</center>', 
		        	dataIndex:'BZ',
		        	width:150,
		        	editor: new Ext.grid.GridEditor(
			            new Ext.form.TextField({
			                allowBlank: true
			            })
        		 	)
		        }
		    ]);
		    
		    //定义记录集模型
		    var Record = Ext.data.Record.create([
		        {name: 'FXHYXM', type: 'string'},
		        {name: 'CYGG', type: 'string'},
		        {name: 'CYSL', type: 'string'},
		        {name: 'BZ', type: 'string'}
    		]);
	    	  
		    //数据源
		    var store = new Ext.data.Store({
		    	//请求参数,格式如下所示
		    	baseParams:{flg:'getExistPAJZ12Info',common:comms,others:oth},
		    	//代理
        		proxy: new Ext.data.HttpProxy({
		        	url:'<%=request.getContextPath()%>/pajz12Servlet',//请求路径
		        	method:'post'//url:请求路径;method:请求方式
		        }),
        		 //接受数据格式:json////////////////
		        reader: new Ext.data.JsonReader(
		        	//json格式,没有分页就不需要totalProperty属性
			        { root: 'root'}, 
			        //json中包含的属性
			        [
	            		{name: 'FXHYXM'},
			            {name: 'CYGG'},
			            {name: 'CYSL'},
			            {name: 'BZ'}
	        		]
        		)
    		});
    
    		//加载grid
    		store.load();
    		
    		//保存按钮
    		var saveBtn=new Ext.Button({
				enableToggle : true,
				pressed : true,
				text:'保存',
				//点击后触发的函数
				toggleHandler:function(){
					var m = store.modified;//表格中修改过的内容
	                if(m.length == 0){
	                	Ext.Msg.alert("没有修改数据,无需保存!");
	                	return;
	                }
	                var jsonArray = [];//盛放修改过的行信息
	                //遍历修改过的内容,并放入jsonarray中
	                Ext.each(m, function(item) {
	                    jsonArray.push(item.data);
	                });
	                var com = "JH='"+jh+"'#SQBH='"+sqbh+"'#CW='"+cw+"'";
	                var insCom = sqbh+"#"+nd+"#"+sqdw+"#"+xmz+"#"+dq+"#"+jh+"#"+cw;
	                Ext.Ajax.request({
			            url: '<%=request.getContextPath()%>/pajz12Servlet?flg=saveReInfos',//请求路径
			            success: function(response) {
			            	store.commitChanges(); //保存完后一定要提交,否则在没有修改数据的情况下,点击保存仍会弹出“保存成功”,避免重复保存。
			            	store.reload();
			                Ext.Msg.alert('保存成功!');
			            },
			            failure: function(response) {
			                Ext.Msg.alert('失败!');
			            },
			            //参数:k-v形式
			            //注意:传递参数前一定要讲jsonarray数组进行处理:Ext.encode(jsonArray)
			            params: { comm:com,data: Ext.encode(jsonArray),insertCom:insCom}
		           });
				}
			});
			
			//关闭按钮
    		var closeBtn = new Ext.Button({
				enableToggle : true,
				pressed : true,
				text:'关闭',
				toggleHandler:function(){
					var m = store.modified.slice(0);//获得修改过的数据数组
		            	if(m.length > 0){          //根据数组的大小判断是否对表格进行了修改
			                Ext.Msg.confirm('信息', '有修改的数据未保存,确定要放弃吗?', function(btn){
			                    if (btn == 'yes') {
			                       window.open("","_self");
					               window.opener = null;   
					               window.close();
			                    } else {
			                    	var jsonArray = [];//
					                Ext.each(m, function(item) {
					                    jsonArray.push(item.data);
					                });
					                var com = "JH='"+jh+"'#SQBH='"+sqbh+"'#CW='"+cw+"'";
					                var insCom = sqbh+"#"+nd+"#"+sqdw+"#"+xmz+"#"+dq+"#"+jh+"#"+cw;
					                Ext.Ajax.request({
							            url: '<%=request.getContextPath()%>/pajz12Servlet?flg=saveReInfos',//请求路径
							            success: function(response) {
							            	store.commitChanges(); //保存完后一定要提交,否则在没有修改数据的情况下,点击保存仍会弹出“保存成功”,避免重复保存。
							            	store.reload();
							                Ext.Msg.alert('保存成功!');
							                Ext.Msg.confirm('信息', '保存成功!确定要关闭吗?', function(btn){
							                	if (btn == 'yes') {
							                       window.open("","_self");
									               window.opener = null;   
									               window.close();
									            }
							                });
							            },
							            failure: function(response) {
							                Ext.Msg.alert('失败!');
							            },
							            //参数:k-v形式
							            params: { comm:com,data: Ext.encode(jsonArray),insertCom:insCom}
						           });
			                    }
			                });
		            	}else{
		            		//如果没有修改数据就提示关闭窗口
		            		window.close();
		            	}
				}
			});
	    	
	    	////////创建表格对象
		    var grid = new Ext.grid.EditorGridPanel({
		        width: Ext.get("grid").getWidth(), //指定表格的宽度为div的宽度
				height: Ext.get("grid").getHeight(), //指定表格的高度为div的高度
		        renderTo: 'grid', //将表格渲染在id为grid的div中
		        store: store,//对应的数据源
		        stripeRows:true,
		        cm: cm,//对应的列定义
		        bodyStyle:"width:100%",//防止表头和内容错位
                viewConfig:{     
                  forceFit : true   //让表格充满div的宽度
                },
                //添加工具栏
		        tbar: new Ext.Toolbar([
			        {xtype : "tbfill"},
			        saveBtn,
			        '-',
			        closeBtn
			    ])
		    });
		    
	});
	
	</script>
</head>
<body align="center">
   <div id="grid" style="height:550px;width:1000px;"></div>
</body>
</html>

 

分享到:
评论

相关推荐

    Extjs3.4+Ext-core.pdf+轻松搞定Extjs.pdf

    开发者可以通过这个包直接在项目中引用ExtJS 3.4,进行开发和调试。 学习ExtJS 3.4的过程中,首先需要理解其组件模型,因为它是构建应用的核心。每个组件都有自己的属性、方法和事件,可以通过这些来定制组件的行为...

    ext-lang-en.js和ext-lang-zh_CN.js

    Extjs中实现国际化要用到的文件ext-lang-zh_CN.js和ext-lang-en.js

    extjs jsb文件(ext-4.2.1.883.jsb2)

    从ext官方论坛上下的。 文件名: ext-4.2.1.883.jsb2 对应版本ext-4.2.1.883

    extjs 3.4 开发前准备

    【EXTJS 3.4 开发前准备】 EXTJS 是一款强大的JavaScript库,主要用于构建桌面级的Web应用程序,提供丰富的用户界面组件和交互效果。3.4版本是EXTJS的一个重要里程碑,它提供了稳定的基础和丰富的组件库。本文将...

    ext-4.2.1.883.jsb2

    从spket IDE 官网下载。 文件名: ext-4.2.1.883.jsb2 对应版本ext-4.2.*版本。spket自动提示ExtJs4,需要ext4.2.1.jsp2文件。

    extjs-theme-bootstrap-master.zip

    总之,"extjs-theme-bootstrap-master.zip"为开发者提供了一种方式,让他们能够将流行的Bootstrap样式应用于ExtJS应用中,从而获得美观且功能丰富的Web界面。这个主题包不仅包含了样式定义,还可能包括示例、文档和...

    extjs-docs-6.0.0-classic.part01.rar

    Ext JS 6最大的变化就是将Ext JS和Touch合并为一个单一的框架。之前的框架的核心(数据、控制器、模型等等)已被调和为一个...那些共享核心资源和逻辑,并使用这两种工具包的应用程序被称为通用(Universal)应用程序。

    ExtJs自定义分页控件----PM3PagingToolbar.js

    在 ExtJS3.3基础上开发的. 低一点的版本应该也能用. 没有去测试. 参考: Ext.PagingToolbar.js 因为我开发测试完这个分页工具后, 电脑上显示刚好是15:00, 所以取名: PM3PagingToolbar 如有BUG还请各位提出或留言. ...

    ExtJS 自定义分页控件---- PM3PagingToolbar.js

    在 ExtJS3.3基础上开发的. 低一点的版本应该也能用. 没有去测试. 参考: Ext.PagingToolbar.js 如有BUG还请各位提出或留言. 附件中有图片, 一看就知道. 用法: var grid = new Ext.grid.GridPanel({ bbar: new Ext....

    extjs-docs-6.0.0-classic.part02.rar

    Ext JS 6最大的变化就是将Ext JS和Touch合并为一个单一的框架。之前的框架的核心(数据、控制器、模型等等)已被调和为一个...那些共享核心资源和逻辑,并使用这两种工具包的应用程序被称为通用(Universal)应用程序。

    spket1.6和extjs3.4

    开发者通常会将这个文件解压缩后引入到他们的项目中,以便使用ExtJS 3.4的功能。 **总结** Spket 1.6.18和ExtJS 3.4的组合是Web开发中的一个有效工具集,前者作为一个强大的IDE,为后者提供有力的开发支持。通过...

    ExtJS改变默认字体大小的几种方式

    ExtJS 是一个流行的JavaScript框架,用于构建富客户端应用程序。它提供了丰富的组件库,包括按钮、表格、窗口等,使得开发者可以构建出具有复杂交互和美观界面的应用。在使用ExtJS时,有时我们需要根据用户需求或...

    extjs_4.1.0_community_extjs4-mvc-complex-dashboard.zip

    ExtJS 4.1.0 是一款流行的JavaScript框架,用于构建富客户端的Web应用程序。它提供了丰富的组件库、数据绑定机制、MVC架构以及强大的布局管理。社区版是开源的,允许开发者免费使用和定制,适合开发复杂的企业级应用...

    extjs-docs-6.0.0-classic.part04.rar

    Ext JS 6最大的变化就是将Ext JS和Touch合并为一个单一的框架。之前的框架的核心(数据、控制器、模型等等)已被调和为一个...那些共享核心资源和逻辑,并使用这两种工具包的应用程序被称为通用(Universal)应用程序。

    SSH整合rar包【齐全】

    extjs-3.4.jar fastjson-1.1.21.jar freemarker-2.3.9.jar gecko-1.1.4.jar geronimo-activation_1.1_spec-1.0.2.jar geronimo-javamail_1.4_spec-1.6.jar geronimo-jta_1.1_spec-1.1.jar geronimo-stax-api_1.0_...

    ExtJS 3.4 源码包

    ExtJS 是一个流行的JavaScript库,专门用于构建富客户端应用程序。版本3.4是该库的一个稳定版本,提供了丰富的UI组件和强大的数据管理功能。在这个源码包中,开发者可以深入理解ExtJS的工作原理,以便更好地定制和...

    Extjs 6.2 最新sdk ext-6.2.0-gpl.zip

    官方最新版本Extjs6.2版本sdk,创建新项目的时候需要用, 全面的核心框架,具有最新的Javascript标准支持 新的漂亮组件和主题,以创建漂亮的企业应用程序 现代工具链,用于构建优化,高性能,通用的应用程序 用于可视...

    Extjs-ExtDesigner-1.1.2+完全解密工具.part1.rar

    Extjs-ExtDesigner-1.1.2+完全解密工具.part1.rar

    ext-4.2.1.883.7z 官方最新版7z压缩

    标题中的"ext-4.2.1.883.7z"指的是ExtJS框架的一个特定版本,4.2.1.883,它被压缩成了7z格式的文件。7z是一种高效的文件压缩格式,由7-Zip软件创建,以提供更高的压缩比和更快的解压缩速度。7z文件通常需要使用支持7...

    ext-4.1.0-beta-2.zip

    EXTJS是一个广泛使用的JavaScript库,专门用于构建富客户端应用程序。这个"ext-4.1.0-beta-2.zip"文件包含的是EXTJS框架的一个早期版本,4.1.0的测试版2。EXTJS 4.1.0引入了许多新特性和改进,使得开发者能够更加...

Global site tag (gtag.js) - Google Analytics