WEB项目总结-完全分页组件
来源:互联网 发布:知天气福建版 编辑:程序博客网 时间:2024/05/16 18:00
http://www.yeeoh.cn/newpk
终于完成了这个项目:框架设计,页面设计,后台设计,交互设计,后台代码,前台页面代码,前台交互代码,数据库设计,数据录入,压力测试,容错测试,交互测试,修改,补丁,完全由一个人做完,中间还要到处跑生意.我想应该做的不错了.
整个项目前后台大量使用了AJAX技术,不过看了看,和我的首页比,有点小儿科,不过毕竟是商业产品网站,做的过于花哨,反到起不好的作用.想想当年在公司,一个WEB项目,前前后后,大批人加入,所有细节都分工到位,居然还搞了三个月,最后还成了豆腐渣工程,心寒啊.
有兴趣的朋友可以谈谈这个项目的价值几何.
因为之前有些人总是认为我只会忽悠AJAX,呵呵,我能拿出来的东西好像不止AJAX一种吧...
还有个人居然说,给某个人一个月时间学会AJAX,就留住他,更有某些人,看看那个招聘信息,我无语了.真把我当程序员看,哈哈.
这个项目虽然没有与其他架构联合,但是整个控制流程我本人感觉已经趋于某种完美了,毕竟我相信用过这套系统的人,不会有人说太多不人性化的话,我能想到的人性化基本全部写进去,然后个人又把流程每个细节都过了至少三次,哎,我想这是我人生中最后一次操技术活了,将来这些东西,估计能丢的全要丢了.因为这个东西让我很伤心,我自认为个人做事总是趋于完美主义,可是那些不懂技术的管理人员却暴殄天物,居然和他说个不字,就严厉打击报复,殊不知,三十年河东,三十年河西,既然你认为技术活是低贱的,而你又认为你的管理很出众,那么好,我奉陪,在技术上我敢说完全超过某些人,这样,我放下技术,重头来,就算是做管理我也不输于任何人.
我记得事件的开端就是我说的两个字:垃圾.骂的好,今后我还是把他当垃圾.
不过我再次也要强调一下,并不是我个人偏激,往往一件事情要解决,做错的一方道个歉,其实也就没什么了,不过在我没有收到那个道歉之前,那么这件事情不会就此平息.
而事件开端的开端,我可以完全保证,绝对是为公事,并且绝对是为公司利益着想.
下面给出这个项目中我认为最满意的控件,加强的分页控件.
程序代码
//分页控制
//参数分别为:RS对象,每页显示条数,页码指向的链接,当前页码
function Pages(rsObj,pagesize,url,num){
var pageContent
rsObj.PageSize = pagesize
//如果当前没有页码,默认指向第一页
if(!$r(num) || $r(num) == "" || $r(num).Count ==0 || $r(num)<1){
num = 1;
rsObj.AbsolutePage = 1;
//否则指向该页码
}else{
num = Number($r(num)+"");
rsObj.AbsolutePage = num
}
//计算总页数:为什么不用RS.PageCount,因为之后要自动调整每页显示条数
//否则页码总数计算会出错
var pageCount = Math.ceil(rsObj.RecordCount/pagesize)
pageContent = pageNum(rsObj,pageCount,url,num)
return "共 "+pageCount+"页 / "+rsObj.RecordCount+" 条记录 "+pageContent
}
//开始计算页码
function pageNum(rsObj,pgCont,url,num){
var CS,CSL,CSR,z,cont,thisContent="",maxPageNum=10
//当限制每次显示的页码条数时,计算共有多少组页码
CS = Math.ceil(pgCont/maxPageNum)
//计算当前组页码的最大页数
CSR = Math.ceil(num/maxPageNum)
//计算当前组页码的最小页数
CSL = (CSR-1)*maxPageNum
//当前页码为最后一组
if(CS == CSR){
//因为最后一组页码不可能于所剩记录条数相等,所以要做一下容错
if(pgCont%maxPageNum == 0){
cont = CSL+maxPageNum
}else{
cont = CSL+(pgCont%maxPageNum)
}
}else{
cont = CSR*maxPageNum
}
//当前页面为最后一页,并且记录数不等于默认显示记录数时,重新写入记录数
if(num == pgCont && rsObj.RecordCount%rsObj.PageSize != 0){
rsObj.PageSize = rsObj.RecordCount%rsObj.PageSize
}
CSL += 1
//设置首页,上一页
if(num > 1){
thisContent += pgUrl(url,1,"首页")+pgUrl(url,(num-1),"上一页")
}else{
thisContent += "<span>首页</span><span>上一页</span>"
}
//前后页组
//如果当前页码不为第一组则显示跳到上组页码链接
if(CSR > 1){
thisContent += pgUrl(url,(CSL-maxPageNum),"[...]")
}//else{
// thisContent += "<span>[...]</span>"
//}
//循环打出本组页码
for(z=CSL; z<=cont; z++){
thisContent += checkTO(z,num,url)
}
//如果当前页码不为第一组,并且还有下组页码则显示跳到下组页码链接
if(CSR < CS){
thisContent += pgUrl(url,(cont+1),"[...]")
}//else{
// thisContent += "<span>[...]</span>"
//}
if(num != pgCont){
thisContent += pgUrl(url,(num+1),"下一页")+pgUrl(url,pgCont,"尾页")
}else{
thisContent += "<span>下一页</span><span>尾页</span>"
}
return thisContent
}
//判断是否在本页或本组
function checkTO(pageSort,num,url){
if(pageSort == num){
return "<span class='default'>["+pageSort+"]</span>"
}else{
return pgUrl(url,pageSort,"["+pageSort+"]")
}
}
//不在本页或本组给出链接
function pgUrl(url,num,txt){
return '<a href="'+url+'page='+num+'">'+txt+'</a>'
}
- WEB项目总结-完全分页组件
- WEB项目总结-完全分页组件
- web简单分页组件
- Web 分页组件JS部分
- Vue实现web分页组件
- java web项目分页
- java web 分页实例项目
- java web 通用的分页组件
- java web 分页技术总结
- java Web 分页技术总结
- java web 分页技术总结
- Fit项目分页组件的编写
- Web Dynpro组件关系总结
- display分页组件使用流程总结
- WEB失败项目总结
- web项目总结 >> 待续
- 近期web项目总结
- 近期web项目总结
- TDD的三条规则(中英对照)
- Windows API函数大全
- 帧中继一些典型配置举例
- 让我们《击掌为盟》
- Hibernate 异常解决方法
- WEB项目总结-完全分页组件
- css 样式表学习和应用
- 委托和事件
- 委托和事件
- 解析动态联编(上篇)
- 实战串行通讯
- WinForm 的 ListBox 等类型控件的 bind
- ST7 Peripheral User`s Manual
- TERMIOS详解