个性化的分页实例

导读:
  注意:本文的源程序代码用VB和C#同时进行说明。
  我们所知道的分页程序一般都是简单地通过修改DataGrid的属性来实现分页,这样做的最大好处就是简单,用户根本不用知道分页是如何产生的。但它同样有缺点,不能按照用户的需要产生相应的样式。要得到个性化的分页,就必须自己动手编写代码。下面来看一个功能更为强大的分页实例——个性化的分页功能实现。
  完整的程序代码如下:
  <%@Page Language="VB"%>
  <%@Import Namespace="System.Data"%>
  <%@Import Namespace="System.Data.OleDb"%>
  
  
  
  

个性化的分页实例


  

  
AllowPaging="True"
PageSize="5"
PagerStyle-Mode="NumericPages"
PagerStyle-HorizontalAlign="Right"
OnPageIndexChanged="Grid1_Page"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
CellPadding="3"
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
AlternatingItemStyle-BackColor="#eeeeee"
AutoGenerateColumns="true">  AllowPaging="True"
  PageSize="5"
  PagerStyle-Mode="NumericPages"
  PagerStyle-HorizontalAlign="Right"
  OnPageIndexChanged="Grid1_Page"
  BorderColor="black"
  BorderWidth="1"
  GridLines="Both"
  CellPadding="3"
  CellSpacing="0"
  Font-Name="Verdana"
  Font-Size="8pt"
  HeaderStyle-BackColor="#aaaadd"
  AlternatingItemStyle-BackColor="#eeeeee"
  AutoGenerateColumns="true">
  
  


  
Text="首页"
CommandArgument="0"
ForeColor="navy"
Font-Name="verdana" Font-size="8pt"
OnClick="PagerButtonClick"/>  Text="首页"
  CommandArgument="0"
  ForeColor="navy"
  Font-Name="verdana" Font-size="8pt"
  OnClick="PagerButtonClick"/>
  
  
Text="前页"
CommandArgument="prev"
ForeColor="navy"
Font-Name="verdana" Font-size="8pt"
OnClick="PagerButtonClick"/>  Text="前页"
  CommandArgument="prev"
  ForeColor="navy"
  Font-Name="verdana" Font-size="8pt"
  OnClick="PagerButtonClick"/>
  
  
Text="后页"
CommandArgument="next"
ForeColor="navy"
Font-Name="verdana" Font-size="8pt"
OnClick="PagerButtonClick"/>  Text="后页"
  CommandArgument="next"
  ForeColor="navy"
  Font-Name="verdana" Font-size="8pt"
  OnClick="PagerButtonClick"/>
  
  
Text="末页"
CommandArgument="last"
ForeColor="navy"
Font-Name="verdana" Font-size="8pt"
OnClick="PagerButtonClick"/>  Text="末页"
  CommandArgument="last"
  ForeColor="navy"
  Font-Name="verdana" Font-size="8pt"
  OnClick="PagerButtonClick"/>
  


  
Text="显示内置的页数"
Font-Name="Verdana"
Font-Size="8pt"
AutoPostBack="true"/>  Text="显示内置的页数"
  Font-Name="Verdana"
  Font-Size="8pt"
  AutoPostBack="true"/>
  


  


  

  

  

  

  
  
  上面程序中的DataGrid控制元件的布置标记并没有什么特别之处,通过布置4个LinkButton控制元件来实现个性化分页,例如:
  
Text="首页"
CommandArgument="0"
ForeColor="navy"
Font-Name="verdana" Font-size="8pt"
OnClick="PagerButtonClick"/>  Text="首页"
  CommandArgument="0"
  ForeColor="navy"
  Font-Name="verdana" Font-size="8pt"
  OnClick="PagerButtonClick"/>
  可以看出LinkButton的OnClick触发的是PagerButtonClick事件,程序代码如下:
  Sub PagerButtonClick(Sender As Object,e As EventArgs)
  '获得LinkButton的参数值
  Dim arg As String =CType(Sender,LinkButton).CommandArgument
  Select Case arg
  case ("next")
  if (Grid1.CurrentPageIndex <(Grid1.PageCount - 1)) then
  Grid1.CurrentPageIndex +=1
  end if
  case ("prev")
  if (Grid1.CurrentPageIndex > 0) then
  Grid1.CurrentPageIndex -=1
  end if
  case ("last")
  Grid1.CurrentPageIndex = (Grid1.PageCount - 1)
  case else
  '本页值
  Grid1.CurrentPageIndex = CInt(arg)
  End Select
  BindGrid
  End Sub
  在这个事件处理程序之中,取得LinkButton的参数值,求出Grid1的当前页面索引值。操作的也只是DataGrid的CurrentPageIndex属性。如果CurrentPageIndex小于Pag

本文转自
http://study.qqcf.com/web/224/24042.htm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值