<!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>
分享到:
相关推荐
开发者可以通过这个包直接在项目中引用ExtJS 3.4,进行开发和调试。 学习ExtJS 3.4的过程中,首先需要理解其组件模型,因为它是构建应用的核心。每个组件都有自己的属性、方法和事件,可以通过这些来定制组件的行为...
Extjs中实现国际化要用到的文件ext-lang-zh_CN.js和ext-lang-en.js
从ext官方论坛上下的。 文件名: ext-4.2.1.883.jsb2 对应版本ext-4.2.1.883
【EXTJS 3.4 开发前准备】 EXTJS 是一款强大的JavaScript库,主要用于构建桌面级的Web应用程序,提供丰富的用户界面组件和交互效果。3.4版本是EXTJS的一个重要里程碑,它提供了稳定的基础和丰富的组件库。本文将...
从spket IDE 官网下载。 文件名: ext-4.2.1.883.jsb2 对应版本ext-4.2.*版本。spket自动提示ExtJs4,需要ext4.2.1.jsp2文件。
总之,"extjs-theme-bootstrap-master.zip"为开发者提供了一种方式,让他们能够将流行的Bootstrap样式应用于ExtJS应用中,从而获得美观且功能丰富的Web界面。这个主题包不仅包含了样式定义,还可能包括示例、文档和...
Ext JS 6最大的变化就是将Ext JS和Touch合并为一个单一的框架。之前的框架的核心(数据、控制器、模型等等)已被调和为一个...那些共享核心资源和逻辑,并使用这两种工具包的应用程序被称为通用(Universal)应用程序。
在 ExtJS3.3基础上开发的. 低一点的版本应该也能用. 没有去测试. 参考: Ext.PagingToolbar.js 因为我开发测试完这个分页工具后, 电脑上显示刚好是15:00, 所以取名: PM3PagingToolbar 如有BUG还请各位提出或留言. ...
Ext JS 6最大的变化就是将Ext JS和Touch合并为一个单一的框架。之前的框架的核心(数据、控制器、模型等等)已被调和为一个...那些共享核心资源和逻辑,并使用这两种工具包的应用程序被称为通用(Universal)应用程序。
在 ExtJS3.3基础上开发的. 低一点的版本应该也能用. 没有去测试. 参考: Ext.PagingToolbar.js 如有BUG还请各位提出或留言. 附件中有图片, 一看就知道. 用法: var grid = new Ext.grid.GridPanel({ bbar: new Ext....
开发者通常会将这个文件解压缩后引入到他们的项目中,以便使用ExtJS 3.4的功能。 **总结** Spket 1.6.18和ExtJS 3.4的组合是Web开发中的一个有效工具集,前者作为一个强大的IDE,为后者提供有力的开发支持。通过...
ExtJS 是一个流行的JavaScript框架,用于构建富客户端应用程序。它提供了丰富的组件库,包括按钮、表格、窗口等,使得开发者可以构建出具有复杂交互和美观界面的应用。在使用ExtJS时,有时我们需要根据用户需求或...
ExtJS 4.1.0 是一款流行的JavaScript框架,用于构建富客户端的Web应用程序。它提供了丰富的组件库、数据绑定机制、MVC架构以及强大的布局管理。社区版是开源的,允许开发者免费使用和定制,适合开发复杂的企业级应用...
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 是一个流行的JavaScript库,专门用于构建富客户端应用程序。版本3.4是该库的一个稳定版本,提供了丰富的UI组件和强大的数据管理功能。在这个源码包中,开发者可以深入理解ExtJS的工作原理,以便更好地定制和...
Extjs-ExtDesigner-1.1.2+完全解密工具.part1.rar
标题中的"ext-4.2.1.883.7z"指的是ExtJS框架的一个特定版本,4.2.1.883,它被压缩成了7z格式的文件。7z是一种高效的文件压缩格式,由7-Zip软件创建,以提供更高的压缩比和更快的解压缩速度。7z文件通常需要使用支持7...
EXTJS是一个广泛使用的JavaScript库,专门用于构建富客户端应用程序。这个"ext-4.1.0-beta-2.zip"文件包含的是EXTJS框架的一个早期版本,4.1.0的测试版2。EXTJS 4.1.0引入了许多新特性和改进,使得开发者能够更加...
js框架 extjs-4.2.1.883.7z
EXTJS有300多个类,能做到既有面向对象编程的规范性,又能做到JavaScript的灵活性