shawl.qiu asp 记录集分页类(vbscript 1.0 && jscript 1.1)
2007-01-22 15:52
549 查看
shawl.qiu asp 记录集分页类(vbscript 1.0 && jscript 1.1)
说明:这个没多大技术含量, 就不说明了...
目录:
1. vbscript
1.1 vbscript pagination 类
1.2 vbscript pagination 类使用参考
2. jscript
2.1 jscript pagination 类
2.2 jscript pagination 类使用参考
shawl.qiu
2007-01-22
http://blog.csdn.net/btbtd
内容:
1. vbscript
1.1 vbscript pagination 类
'---------------------------------------------------------------------'
' shawl.qiu asp/vbscript 记录集分页类 v1.0
'---------------------------------------------------------------------'
'---------------------------------------------------------------------begin class pagination
class pagination
'------------------------------------begin event
private sub class_initialize()
auSubject="shawl.qiu asp/vbscript 记录集分页类"
auVersion="v1.0"
au="shawl.qiu"
auEmail="shawl.qiu@gmail.com"
auBlog="http://blog.csdn.net/btbtd"
auCreateDate="2007-1-21"
pagesize=10
absltpage=1
listnum=10
queryid="page"
wordFirst="首页"
wordPreviousTen="上十"
wordPrevious="上一"
wordNext="下一"
wordNextTen="下十"
wordLast="末尾"
cssCrCurLink="#FFCCFF"
cssCrNoneLink="#ccc"
cssJumpBox="border:0px;border-bottom:1px dashed black;"
bGetRs=false
iRecordCount=0
debug=false
end sub
private sub class_terminate()
end sub
'------------------------------------end event
'------------------------------------begin public variable
'---------------begin about
public auSubject, auVersion, au, auEmail, auBlog, auCreateDate
'---------------end about
public pagesize
public absltpage
public listnum
public queryid
public wordFirst
public wordPreviousTen
public wordPrevious
public wordNext
public wordNextTen
public wordLast
public cssCrCurLink
public cssCrNoneLink
public cssJumpBox
public debug
'------------------------------------end public variable
'------------------------------------begin public method
'------------------------------------end public method
public property get list()
suGetList()
end property
public property get info()
suInfo()
end property
public property let rs(byref oRs)
set rs_=oRs
end property
'------------------------------------begin private variable
'------------------------------------end private variable
private bGetRs
private iRecordCount
private rs_
'------------------------------------begin private method
private sub suGetList()
if rs_.eof or rs_.bof then exit sub '记录集为空'
if not isNumeric(absltpage) then absltpage=1
absltpage=absltpage-0
iRecordCount=rs_.RecordCount
if iRecordCount<pagesize then exit sub '分页数大于记录总炸
bGetRs=true
dim iPgAll:iPgAll=int(iRecordCount/-pagesize)*-1
if absltpage<1 then absltpage=1
if absltpage>iPgAll then absltpage=iPgAll
rs_.PageSize=pagesize
rs_.AbsolutePage=absltpage
dim iNumLink
dim sUrl:sUrl="?"&Request.ServerVariables("query_string")&"&"&queryid&"="
sUrl=fRe(sUrl, false, true, false, "/b"&queryid&"/=.*[^&]", queryid&"=")
sUrl=fRe(sUrl, false, true, false, "/?/&", "?")
sUrl=fRe(sUrl, false, true, false, "/&/&", "&")
Response.write("<div class='sqPaged'>")
if absltpage=1 then '-------------------首页'
Response.write("<font style='color:"&cssCrNoneLink&"'>"&wordFirst&"</font> ")
else
Response.write("<a href='"&sUrl&"1'>"&wordFirst&"</a> ")
end if
if absltpage<=10 then '-------------------上十'
Response.write("<font style='color:"&cssCrNoneLink&"'>"&wordPreviousTen&"</font> ")
else
Response.write("<a href='"&sUrl&(absltpage-(absltpage mod 10)-9)&"'>"&_
wordPreviousTen&"</a> ")
end if
if absltpage<=1 then '-------------------上一'
Response.write("<font style='color:"&cssCrNoneLink&"'>"&wordPrevious&"</font> ")
else
Response.write("<a href='"&sUrl&(absltpage-1)&"'>"&wordPrevious&"</a> ")
end if
for iNumLink=(absltpage-(absltpage mod 10)+1) to (absltpage-(absltpage mod 10)+10)
if iNumLink>iPgAll then exit for
if iNumLink=absltpage then
Response.write("<font style='color: "&cssCrCurLink&";'>"&iNumLink&"</font> ")
else
Response.write("<a href='"&sUrl&iNumLink&"'>"&iNumLink&"</a> ")
end if
next
if absltpage>=iPgAll then '-------------------下一'
Response.write("<font style='color:"&cssCrNoneLink&"'>"&wordPrevious&"</font> ")
else
Response.write("<a href='"&sUrl&(absltpage+1)&"'>"&wordNext&"</a> ")
end if
if debug then
Response.write("~~~下十:")
Response.write(absltpage+10-(absltpage mod 10))
Response.write("~~~~")
Response.write(absltpage mod 10)
Response.write("~~~~")
Response.write((absltpage-(absltpage mod 10)+11))
Response.write("~~~")
end if
if (absltpage-(absltpage mod 10)+11)>=iPgAll then '-------------------下十'
Response.write("<font style='color:"&cssCrNoneLink&"'>"&wordNextTen&"</font> ")
else
Response.write("<a href='"&sUrl&(absltpage+10-(absltpage mod 10)+1)&"'>"&wordNextTen&"</a> ")
end if
if absltpage=iPgAll then '--------------------末尾'
Response.write("<font style='color:"&cssCrNoneLink&"'>"&wordLast&"</font> ")
else
Response.write("<a href='"&sUrl&iPgAll&"'>"&wordLast&"</a> ")
end if
Response.write("转到:<input type='text' size='6' style='"&cssJumpBox&"'"&_
" onkeypress='fG2Url(this.value,event)' />")
Response.write("<script type='text/javascript'>"&vbcrlf)
Response.write("//<![CDATA["&vbcrlf)
Response.write(" function fG2Url(sUrl, oEvt){"&vbcrlf)
Response.write(" if(!oEvt)var oEvt=window.event;"&vbcrlf)
Response.write(" var kc=oEvt.which||oEvt.keyCode;"&vbcrlf)
Response.write(" if(kc==13){"&vbcrlf)
Response.write(" window.location.href='?cat1id=1&page='+sUrl}"&vbcrlf)
Response.write(" }"&vbcrlf)
Response.write("//]]>"&vbcrlf)
Response.write("</script>"&vbcrlf)
Response.write("</div>")
end sub 'suGetList shawl.qiu code'
private sub suInfo()
if rs_.Eof or rs_.Bof then exit sub
dim iRc
if bGetRs then
iRc=iRecordCount
else
iRc=rs_.RecordCount
end if
if iRc<1 then exit sub
Response.write("<div class='sqPgInfo'>")
Response.write(rs_.PageSize&"篇/页 "&rs_.AbsolutePage&"/"&_
(int(iRc/-rs_.PageSize)*-1)&"页 共"&iRc&"篇")
Response.write("</div>")
end sub 'suInfo shawl.qiu code'
private function fRe(str,glb,igc,mtl,pt,rpt)
dim re
set re=new RegExp
re.global=glb
re.ignoreCase=igc
re.multiline=mtl
re.pattern=pt
fRe=re.replace(str,rpt)
set re=nothing
end function 'fRe shawl.qiu code'
'------------------------------------end private method
end class
'---------------------------------------------------------------------end class pagination
1.2 vbscript pagination 类使用参考
shawl.qiu framework vbscript server-side
---/------------------------------------------------------------------------------
class pagination
---/----------------------------------------------------
dim conn
conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data source="&_
Server.MapPath("/data/shawlqiu.mdb")
dim rs, oRs
set rs=new data
set oRs=rs.open("select title, articleid from shawlqiu_ order by articleid desc",_
conn, 1, 1)
dim paged
dim iPage:iPage=Request.QueryString("page")
if iPage="" then iPage=1
set paged=new pagination
paged.debug=false
paged.rs=oRs
paged.pagesize=20
paged.absltpage=iPage
paged.listnum=10
paged.queryid="page"
paged.list
paged.info
set paged=nothing
rs.customList oRs, GetRef("fList")
'rs.list(oRs)
rs.close(oRs)
set rs=nothing
dim iAtCount:iAtCount=0
function fList(byref rs)
iAtCount=iAtCount+1
if iAtCount>20 then exit function
Response.write("<br/><a href='?id="&rs("articleid")&"'>"&_
rs("title")&"</a>")
end function
2. jscript
2.1 jscript pagination 类
<%
/*-----------------------------------------------------------------------------------*/
* shawl.qiu asp/jscript 记录集分页类 v1.1
/*-----------------------------------------------------------------------------------*/
//---------------------------------begin class pagination()-------------------------------//
function pagination(){ // shawl.qiu code
//------------------------------------begin public variable
//---------------begin about
this.auSubject='shawl.qiu asp/jscript 记录集分页类';
this.auVersion='v1.1';
this.au='shawl.qiu';
this.auEmail='shawl.qiu@gmail.com';
this.auBlog='http://blog.csdn.net/btbtd';
this.auCreateDate='2007-1-10';
this.auUpdate='2007-1-22';
//---------------end about
this.rs=''; // recordset object
this.pagesize=20; // recordset.PageSize;
this.absltpage=1; // recordset.AbsolutePage;
this.listnum=10; // show the link list;
this.queryid='page'; // url querystring('page');
this.word=function(){};
this.word.first='首页';
this.word.last='尾页';
this.word.previousTen='上十';
this.word.previous='上一';
this.word.next='下一';
this.word.nextTen='下十';
//------------------------------------end public variable
//------------------------------------begin public method
this.getlist=function(){
tl_exec=true;
tl_rscount=tl.rs.RecordCount;
if(!tl_rscount)return false;
if(tl_rscount=='')return false;
if(tl_rscount===0)return false;
var pgAll=Math.ceil(tl_rscount/tl.pagesize);
if(tl.pagesize>tl_rscount)return false;
var sUrl='?'+Request.ServerVariables("QUERY_STRING")+'&'+tl.queryid+'=';
var re=new RegExp('//b'+tl.queryid+'/=.*[^&]','i')
sUrl=sUrl.replace(re,tl.queryid+'=').replace('?&','?').replace('&&','&');
tl.rs.PageSize=tl.pagesize; // 设置每页大小
if(tl.absltpage<1) tl.absltpage=1; // 当前所在页
if(tl.absltpage>pgAll) tl.absltpage=pgAll;
tl.rs.AbsolutePage=tl.absltpage;
Response.write('<div class="sqPagedList">');
tl.absltpage>1?Response.Write('<a href="'+sUrl+'1">'+tl.word.first+'</a> ')
:Response.Write('<span class="sqPagedNonLink">'+tl.word.first+'</span> ');
if(pgAll>tl.listnum)
tl.absltpage>10?Response.Write('<a href="'+sUrl+(tl.absltpage-0-10-(tl.absltpage%10)+1)+'">'+
tl.word.previousTen+'</a> ') :Response.Write('<span class="sqPagedNonLink">'+
tl.word.previousTen+'</span> ');
tl.absltpage>1?Response.Write('<a href="'+sUrl+(tl.absltpage-1)+'">'+
tl.word.previous+'</a> ')
:Response.Write('<span class="sqPagedNonLink">'+tl.word.previous+'</span> ');
for(var i=0, temp=tl.absltpage-(tl.absltpage%tl.listnum)+1, temp_=''; i<tl.listnum;
temp++, i++){
if(temp>pgAll) break;
temp==tl.absltpage?Response.Write('<span class="sqPagedCurLink">'+temp+'</span> ')
:Response.Write('<a href="'+sUrl+temp+'">'+temp+'</a> ');
}
tl.absltpage<pgAll?Response.Write('<a href="'+sUrl+(tl.absltpage-0+1)+'">'+
tl.word.next+'</a> ')
:Response.Write('<span class="sqPagedNonLink">'+tl.word.next+'</span> ');
if(pgAll>tl.listnum)
tl.absltpage<pgAll-9?Response.Write('<a href="'+sUrl+(tl.absltpage-0+
10-(tl.absltpage%10)+1)+'">'+ tl.word.nextTen+'</a> ')
:Response.Write('<span class="sqPagedNonLink">'+tl.word.nextTen+'</span> ');
tl.absltpage!=pgAll?Response.Write(' <a href="'+sUrl+pgAll+'">'+tl.word.last+'</a>')
:Response.Write(' <span class="sqPagedNonLink">'+tl.word.last+'</span>');
Response.write(' 转到:<input type="text" size="6" '+
'class="sqJump" onkeypress="fG2Url(this.value,event)" />/n' );
Response.write('<script type="text/javascript">/n')
Response.write('//<![CDATA[/n')
Response.write(' function fG2Url(sUrl, oEvt){/n')
Response.write(' if(!oEvt)var oEvt=window.event;/n')
Response.write(' var kc=oEvt.which||oEvt.keyCode;/n')
Response.write(' if(kc==13){/n')
Response.write(' window.location.href="'+sUrl+'"+sUrl}/n')
Response.write(' }')
Response.write('/n//]]>')
Response.write('</script>');
Response.write('<style type="text/css">/n');
Response.write('/* <![CDATA[ *//n');
Response.write(' .sqJump{/n');
Response.write(' border:0px;/n');
Response.write(' border-bottom:1px dashed black;/n');
Response.write(' }/n');
Response.write('/* ]]> *//n');
Response.write('</style>');
Response.write('</div>');
} // end this.getlist
this.getinfo=function(){
var rscount=0;
if(!tl_exec){
rscount=tl.rs.RecordCount;
} else {
rscount=tl_rscount;
}
Response.write('<div class="sqPagedInfo">');
Response.Write(tl.rs.PageSize+'篇/页 ');
Response.Write(tl.rs.AbsolutePage+'/'+tl.rs.PageCount+'页 ');
Response.Write('共'+tl_rscount+'篇 ');
Response.write('</div>');
} // this.getinfo
//------------------------------------end public method
//------------------------------------begin private variable
var tl=this;
var tl_rscount=0;
var tl_exec=false;
//------------------------------------end private variable
//------------------------------------begin private method
//------------------------------------end private method
} // shawl.qiu code
//---------------------------------end class pagination()---------------------------------//
%>
2.2 jscript pagination 类使用参考
shawl.qiu framework jscript server-side
---/------------------------------------------------------------------------------
pagination()
<%
var conn= "Provider=Microsoft.Jet.OLEDB.4.0;persist security info=false;Data source="+
Server.MapPath("sqEditor/data/shawlqiu.mdb");
var rs=new ActiveXObject('adodb.recordset');
rs.Open('select * from shawlqiu_', conn, 1)
var page=Request.QueryString('page')>0? Request.QueryString('page'): 1;
var paged=new pagination();
paged.rs=rs;
paged.pagesize=20;
paged.absltpage=page;
paged.listnum=10;
paged.queryid='page';
Response.write('<div class="pagenav">');
paged.getlist();
paged.getinfo();
Response.write('</div>');
paged=null;
Response.write('<p/>');
for(var i=0; i<20; i++){
if(rs.Eof||rs.Bof) break;
Response.Write((rs('title')+' ').link('?id=edit&atc='+rs('articleid')));
Response.Write('<br/>');
rs.MoveNext
}
rs.Close();
rs=null;
%>
相关文章推荐
- shawl.qiu asp/jscript 文件管理器 v1.0
- asp jscript, vbscript 的 动态交互 与 动态加载 By shawl.qiu
- asp jscript 调用 asp vbscript class/类, by shawl.qiu
- shawl.qiu asp/vbscript 无组件上传类 v1.2
- ASP adodb.stream 取 .gif 图片完整文件头&描述信息 By shawl.qiu
- ASP VBScript 动态包含文件, FSO 实现 By Shawl.qiu
- shawl.qiu ASP 正则调试器 v1.0
- 服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
- jscript ado && adox 应用的几个技巧 by shawl.qiu
- 服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
- JScript 中 eval 实现 VBScript ExecuteGlobal 功能, 函数 fExecuteGlobal by shawl.qiu
- shawl.qiu ASP 站内文件搜索类 v1.0
- ASP VBScript 函数 之返回多个值 By shawl.qiu
- 服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
- ASP页面内VBScript和JScript(转)
- 重写与扩展 JScript/Javascript String 对象的 HTML 函数 By shawl.qiu
- 切换ASP.NET 的版本。如果不是2.0可以从1.0或1.1切换
- Action.perform in struts1.0 & Action.execute in struts1.1
- shawl.qiu Javascript 元素拖曳类 Dragging class v1.0
- 发布 sqEditor HTML 编辑器 v1.0 By shawl.qiu(兼容 IE, Opera, Firefox)