网络编程
位置:首页>> 网络编程>> Asp编程>> ASP中实现分页显示的七种方法(2)

ASP中实现分页显示的七种方法(2)

作者:csbq  发布时间:2007-09-20 13:19:00 

标签:分页,asp

第二种:表单传送参数法
  
    这种方法在创建Recordset对象时与第一种相同,只是在翻页控制时,采用<input>和case语句配合来实现翻页。网页的名字为:emp2.asp。此方法在编程逻辑上有个缺点:就是在按过“上页”或“下页”钮后,再在浏览器上按刷新按钮时,会自动翻页。源代码如下:


 if Pagenum = "" Then Pagenum = 1 //从第一页开始显示 
  //建立数据库连接和Recordset对象实例rs。 
  与第一种方法相同,此处略过。 
   
  RS.Pagesize = 10 ’ 设置一页中显示的记录条数为10条 
  // 确定翻页的动作 
  Select Case Request("NAV") 
  Case "" 
   session("Pagenum") = 1 
  case "First" ’ First Record 
   session("Pagenum") = 1 
  case "Prev" ’ Previous Record 
   if session("Pagenum") > 1 then 
    session("Pagenum") = session("Pagenum") - 1 
   End If 
  case "Next" ’ Next Record 
   if session("Pagenum")< RS.PageCount then 
    session("Pagenum") = session("Pagenum") + 1 
   End if 
  case "Last" ’ Last Record 
   session("Pagenum") = RS.PageCount 
  End Select 
  RS.Absolutepage = Clng(session("Pagenum")) //确定当前页的第一条记录号 
  // 显示当前页 
  同第一种方法,此处略过。 
  // Nav 翻页按钮设置 
  <form method="GET" action="emp2.asp"> 
  <input type="submit" name="NAV" Value="首页"> 
  <input type="submit" value="上页" name="NAV"> 
  <input type="submit" value="下页" name="NAV"> 
  <input type="submit" value="末页" name="NAV"></form> 


第三种:用Grid控件设计分页
  
    所有的方法中,这种方法最容易。你只需拖DTC中的Recordset控件和Grid控件到asp网页中就行了。而且,你还能选择是在服务器平台还是在客户端平台控制翻页。缺点就是你必须用它给定的格式显示,而不能自己自由控制表格的显示格式。
  
    方法如下:
  
    在VI6.0中建一个工程emp.vip。再在工程中添加一个asp网页:eMP3.asp。
  
    第一步:选VI6.0菜单条上的“add data connect…”,按开发工具的导航提示,你就可以很容易地建立与Employee.mdb数据库的连接。从DTC工具栏中拖一个Recordset控件到网页中,并设置其属性。具体如图:
  
    当你拖控件到网页中时,VI6.0会自动提示你“是否使用Scripting object model”,按yes。
  
    第三步:从DTC工具栏中拖一个Grid控件到网页中,然后单击鼠标右键,设置其属性,如:选在第二步中创建的Recordset控件名,选择emp表中的字段,每页显示多少条记录以及显示格式等。非常简单方便,只要照着导航提示做就行了。 
  
第四种:DHTML法一。
  
    数据记录显示在一个HTML表中。它利用DHTML中表的数据绑定特性来控制记录的分页显示。缺点就是你的翻页方法将被限制为一种特定的方式:只能“上页”和“下页”而不能“首页”和“末页”。由于是在客户端控制翻页,所以,这种和第五种方法是速度最快的,但遗憾的是它只能在支持DHTML的浏览器上使用。
  
    在DHTML中,<TABLE>的DATASRC属性可使表格绑定到一个数据源,另一个属性DATAPAGESIZE可指定一页一次显示的记录数。
  
    我们来看下面的例子:
  
    第一步:拖Recordset控件到新建的网页emp4.htm中,设置其属性,方法同第三种,此处略。
  
    第二步:输入下面的代码:


<TABLE ID="Table1" DATASRC="#Recordset1_RDS" DATAPAGESIZE=5> //假定前面设定Recordset控件名为Recordset1。每页显示5条记录。 
  <THEAD> 
  <TH ALIGN="left" WIDTH=150>Emp ID</TH> //输出表头 
  <TH ALIGN="left" WIDTH=200>Last Name</TH> 
  <TH ALIGN="left" WIDTH=200>First Name</TH> 
  </THEAD> 
  <TR> 
  <TD><DIV DATAFLD="Emp ID"></DIV></TD> //输出表内容 
  <TD><DIV DATAFLD="Last Name"></DIV></TD> 
  <TD><DIV DATAFLD="First Name"></DIV></TD> 
  </TR> 
  </TABLE> 


第三步:然后,增加一对DTCs Button按钮控件来做翻页导航,一个命名为“btnPrevious”(上一页),一个命名为“btnNext”(下一页)。它们相应的脚本如下:


<SCRIPT LANGUAGE=VBScript> 
  Function btnPrevious_onclick() 
  Table1.previousPage() 
  End Function 
   
  Function btnNext_onclick() 
  Table1.nextPage() 
  End Function 
  </SCRIPT> 


0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com