人法地,地法天,天法道,道法自然
分类: Java
2008-01-16 19:33:37
用Ajax设计让[序号]自动编排
文件:
用Ajax设计让[序号]自动编排.rar
大小:
53KB
下载:
下载
本人在开发物料主数据维系统时,发现数据库中的编号(ID)与界面显示的序号不能同时保持有规律性的递增,原因是多用户操作的数据,保存后,不再显示,为了让操作者打印后的数据能方便地阅读数据,查看序号,需将程序改进。如下图:
图中的序号为递增的序号,最右边的数字为数据库中的ID,如果采用最右边这组数据作为序号的话,在首页(第一页)的序号不是从1开始而是从7开始。如果操作员将序号为5的数据保存后,则会使连续的数字断开。为了保持连续性,可以使用ajax来设计。注意图中的表均是通过ajax来自动生成,翻页也是通过ajax来设计。
上图显示了翻页后的序号显示。
下面分析一下代码的设计:
var page=1;
var selectValue="";
var pagecount=1;
var ID=null;
var kind="";
var popup;
var menubody;
var textField;
var kname;
var num;
var nid;
var addid=1;
var preid=0; //上一次值
var pagesize=10; //默认为每页10 行
……
function sendResponse(){
clearResults(); //清空表
preid=(page-1)*pagesize; //计算起始值
setResults(); //设置结果集,即表中的数据
setPageCount(); //设置共有多少页,当前第几页
}
function setResults(){//设置结果集,从XML中读取数据
var res=XMLHttpReq.responseXML;
var prop=null;
var nd,matnr;
var props=res.getElementsByTagName("myinfo");
for(var i=0;i
addid=preid+i+1; //递增序号开始
prop=props[i];
nd=prop.getElementsByTagName("num")[0].firstChild.nodeValue;
matnr=prop.getElementsByTagName("matnr")[0].firstChild.nodeValue;
createTable(addid,nd,matnr);//将结果填充到表中
}
If(props.length!=0){
saveAllEdit(); //设置全部保存
}
}
通过以上代码便可实现,序号的增加,也方便将数据记入到EXCEL,方便打印。
作者:天竺鼠
QQ:410814391
QQ群:49896975
E-Mail:tzs1232115@163.com
工作单位:建纶电器工业(中山)有限公司