首先在定义4个LinkButton
分别为btnFirst, btnNext , btnPre , btnLast,对了一个datagrid 名字是MyDataGrid,还有三个lable表示状态的,名字是:lblPageCount(页数),lblRegisterCount(记录条数),lblCurrentIndex(当前第几页)
Page.aspx 页面代码如下(主要部分的):
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<TABLE width="666" border="1" align="center" cellPadding="1" cellSpacing="1" style="WIDTH: 666px; HEIGHT: 296px">
<tr>
<td align="center" colSpan="2"><STRONG><FONT size="4">个性化的分页实例</FONT></STRONG>
</td>
</tr>
<TR>
<TD align="right" colSpan="2">
<asp:LinkButton id="btnAdd" runat="server">增加</asp:LinkButton>|
<asp:LinkButton id="btnUpdate" runat="server">修改</asp:LinkButton>|
<asp:linkbutton id="lkbDel" runat="server">删除</asp:linkbutton></TD>
</TR>
<TR>
<TD colSpan="2"><asp:datagrid id="MyDataGrid" runat="server" DataKeyField="id" Width="100%" AllowSorting="True"
AutoGenerateColumns="true" PageSize="10" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" BackColor="White"
CellPadding="4">
<FooterStyle ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
<SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66"></SelectedItemStyle>
<ItemStyle ForeColor="#330099" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#FFFFCC" BackColor="#990000"></HeaderStyle>
<Columns>
<asp:TemplateColumn>
<HeaderStyle Width="10px"></HeaderStyle>
<HeaderTemplate>
<INPUT id="chkselectall" type="checkbox" onClick="checkallorno(this)"></asp:CheckBox>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox id="chkselect" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle HorizontalAlign="Center" ForeColor="#330099" BackColor="#FFFFCC"></PagerStyle>
</asp:datagrid></TD>
</TR>
<tr>
<TD align="right" colSpan="2">
<div align="center">
<TABLE id="Table1" cellSpacing="1" cellPadding="1" border="0">
<TR>
<TD noWrap><asp:label id="lblCurrentIndex" runat="server">CI</asp:label></TD>
<TD>|</TD>
<TD noWrap><asp:label id="lblRegisterCount" runat="server">RC</asp:label></TD>
<TD>|</TD>
<TD noWrap><asp:label id="lblPageCount" runat="server">PC</asp:label></TD>
<TD>|</TD>
<TD noWrap><asp:linkbutton id="btnFirst" onclick="PagerButtonClick" runat="server" CommandArgument="first">首页</asp:linkbutton></TD>
<TD>|</TD>
<TD noWrap><asp:linkbutton id="btnPrev" onclick="PagerButtonClick" runat="server" CommandArgument="prev">上一页</asp:linkbutton></TD>
<TD>|</TD>
<TD noWrap><asp:linkbutton id="btnNext" onclick="PagerButtonClick" runat="server" CommandArgument="next">下一页</asp:linkbutton></TD>
<TD>|</TD>
<TD noWrap><asp:linkbutton id="btnLast" onclick="PagerButtonClick" runat="server" CommandArgument="last">尾页</asp:linkbutton></TD>
</TR>
</TABLE>
</div>
</TD>
</tr>
</TABLE>
</FONT>
</form>
</body>
后台 代码:
'定义全局静态变量,记录选中页面之前的总记录数(当然你要导数据连接命名空间,不会,^_^!)
Dim conn As New SqlConnection("server=.;user=sa;password=sa;database=dbaccess")
Dim adp As SqlDataAdapter
Dim cmd As SqlCommand
Dim ds As New System.Data.DataSet
Dim RecordCount, PageCount, CurrentPage, i As Integer
Dim codemessage As String
Dim pagesize As Integer
Page_load 代码:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
Me.pagesize = 3
conn.Open()
If Not Me.IsPostBack Then
'分页设置
Me.ViewState("state") = "all"
CurrentPage = 0
viewstate("pageindex") = 0
Dim intcount As Integer
cmd = New SqlCommand("select count(*) as rs from users", conn)
Dim dr As SqlDataReader = cmd.ExecuteReader()
If (dr.Read()) Then
intcount = dr("rs")
Else
intcount = 0
End If
dr.Close()
'计算共有多少条记录()
Me.RecordCount = intcount
'计算共有多少页()
If (Me.RecordCount Mod pagesize = 0) Then
PageCount = Me.RecordCount \ pagesize
Else
PageCount = RecordCount \ pagesize + 1
End If
viewstate("pagecount") = PageCount
Me.ViewState("pagecount") = PageCount
DbListBind()
ShowStats()
'让首页btnFirst变的不可以用哦
Me.btnFirst.Enabled = False
End If
End Sub
Public Sub DbListBind()
'显示数据清单+++++++++++++++++++++++++++++++++++
Dim startindex As Integer
'导入数据起始地址()
startindex = CurrentPage * pagesize
Dim strSel As String = "select * from users order by id asc"
'程序修改对象()
Dim MyAdapter As New SqlDataAdapter(strSel, conn)
MyAdapter.Fill(ds, startindex, pagesize, "guest")
Me.MyDataGrid.DataSource = ds
Me.MyDataGrid.DataBind()
Me.btnNext.Enabled = True
Me.btnPrev.Enabled = True
If CurrentPage >= PageCount - 1 Then
btnNext.Enabled = False
End If
If CurrentPage = 0 Then
btnPrev.Enabled = False
End If
lblCurrentIndex.Text = "第 " + (Me.CurrentPage + 1).ToString() + " 页"
End Sub
Public Sub PagerButtonClick(ByVal sender As Object, ByVal e As System.EventArgs)
'获得LinkButton的参数值
Dim args As String = sender.CommandArgument
CurrentPage = viewstate("pageindex")
PageCount = viewstate("pagecount")
Select Case args
Case "next"
If CurrentPage < PageCount - 1 Then
CurrentPage = CurrentPage + 1
End If
Me.btnLast.Enabled = True
Me.btnFirst.Enabled = True
If (Me.CurrentPage = Me.PageCount - 1) Then
Me.btnLast.Enabled = False
End If
Case "prev"
If CurrentPage > 0 Then
CurrentPage = CurrentPage - 1
End If
Me.btnFirst.Enabled = True
Me.btnLast.Enabled = True
If (Me.CurrentPage = 0) Then
Me.btnFirst.Enabled = False
End If
Case "last"
CurrentPage = Me.PageCount - 1
Me.btnLast.Enabled = False
Me.btnFirst.Enabled = True
Case "first"
CurrentPage = 0
Me.btnFirst.Enabled = False
Me.btnLast.Enabled = True
End Select
viewstate("pageindex") = CurrentPage
If viewstate("state") = "all" Then
DbListBind()
End If
End Sub
Public Sub DbListBind()
'显示数据清单+++++++++++++++++++++++++++++++++++
Dim startindex As Integer
'导入数据起始地址()
startindex = CurrentPage * pagesize
Dim strSel As String = "select * from users order by id asc"
'程序修改对象()
Dim MyAdapter As New SqlDataAdapter(strSel, conn)
MyAdapter.Fill(ds, startindex, pagesize, "guest")
Me.MyDataGrid.DataSource = ds
Me.MyDataGrid.DataBind()
Me.btnNext.Enabled = True
Me.btnPrev.Enabled = True
If CurrentPage >= PageCount - 1 Then
btnNext.Enabled = False
End If
If CurrentPage = 0 Then
btnPrev.Enabled = False
End If
lblCurrentIndex.Text = "第 " + (Me.CurrentPage + 1).ToString() + " 页"
End Sub
Public Sub PagerButtonClick(ByVal sender As Object, ByVal e As System.EventArgs)
'获得LinkButton的参数值
Dim args As String = sender.CommandArgument
CurrentPage = viewstate("pageindex")
PageCount = viewstate("pagecount")
Select Case args
Case "next"
If CurrentPage < PageCount - 1 Then
CurrentPage = CurrentPage + 1
End If
Case "prev"
If CurrentPage > 0 Then
CurrentPage = CurrentPage - 1
End If
Case "last"
CurrentPage = Me.PageCount - 1
Case "first"
CurrentPage = 0
End Select
viewstate("pageindex") = CurrentPage
If viewstate("state") = "all" Then
DbListBind()
End If
End Sub
Public Sub ShowStats()
lblPageCount.Text = "总共 " + Me.PageCount.ToString() + " 页"
lblRegisterCount.Text = "共 " + Me.RecordCount.ToString() + " 条"
End Sub
分别为btnFirst, btnNext , btnPre , btnLast,对了一个datagrid 名字是MyDataGrid,还有三个lable表示状态的,名字是:lblPageCount(页数),lblRegisterCount(记录条数),lblCurrentIndex(当前第几页)
Page.aspx 页面代码如下(主要部分的):
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<TABLE width="666" border="1" align="center" cellPadding="1" cellSpacing="1" style="WIDTH: 666px; HEIGHT: 296px">
<tr>
<td align="center" colSpan="2"><STRONG><FONT size="4">个性化的分页实例</FONT></STRONG>
</td>
</tr>
<TR>
<TD align="right" colSpan="2">
<asp:LinkButton id="btnAdd" runat="server">增加</asp:LinkButton>|
<asp:LinkButton id="btnUpdate" runat="server">修改</asp:LinkButton>|
<asp:linkbutton id="lkbDel" runat="server">删除</asp:linkbutton></TD>
</TR>
<TR>
<TD colSpan="2"><asp:datagrid id="MyDataGrid" runat="server" DataKeyField="id" Width="100%" AllowSorting="True"
AutoGenerateColumns="true" PageSize="10" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" BackColor="White"
CellPadding="4">
<FooterStyle ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
<SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66"></SelectedItemStyle>
<ItemStyle ForeColor="#330099" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#FFFFCC" BackColor="#990000"></HeaderStyle>
<Columns>
<asp:TemplateColumn>
<HeaderStyle Width="10px"></HeaderStyle>
<HeaderTemplate>
<INPUT id="chkselectall" type="checkbox" onClick="checkallorno(this)"></asp:CheckBox>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox id="chkselect" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle HorizontalAlign="Center" ForeColor="#330099" BackColor="#FFFFCC"></PagerStyle>
</asp:datagrid></TD>
</TR>
<tr>
<TD align="right" colSpan="2">
<div align="center">
<TABLE id="Table1" cellSpacing="1" cellPadding="1" border="0">
<TR>
<TD noWrap><asp:label id="lblCurrentIndex" runat="server">CI</asp:label></TD>
<TD>|</TD>
<TD noWrap><asp:label id="lblRegisterCount" runat="server">RC</asp:label></TD>
<TD>|</TD>
<TD noWrap><asp:label id="lblPageCount" runat="server">PC</asp:label></TD>
<TD>|</TD>
<TD noWrap><asp:linkbutton id="btnFirst" onclick="PagerButtonClick" runat="server" CommandArgument="first">首页</asp:linkbutton></TD>
<TD>|</TD>
<TD noWrap><asp:linkbutton id="btnPrev" onclick="PagerButtonClick" runat="server" CommandArgument="prev">上一页</asp:linkbutton></TD>
<TD>|</TD>
<TD noWrap><asp:linkbutton id="btnNext" onclick="PagerButtonClick" runat="server" CommandArgument="next">下一页</asp:linkbutton></TD>
<TD>|</TD>
<TD noWrap><asp:linkbutton id="btnLast" onclick="PagerButtonClick" runat="server" CommandArgument="last">尾页</asp:linkbutton></TD>
</TR>
</TABLE>
</div>
</TD>
</tr>
</TABLE>
</FONT>
</form>
</body>
后台 代码:
'定义全局静态变量,记录选中页面之前的总记录数(当然你要导数据连接命名空间,不会,^_^!)
Dim conn As New SqlConnection("server=.;user=sa;password=sa;database=dbaccess")
Dim adp As SqlDataAdapter
Dim cmd As SqlCommand
Dim ds As New System.Data.DataSet
Dim RecordCount, PageCount, CurrentPage, i As Integer
Dim codemessage As String
Dim pagesize As Integer
Page_load 代码:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
Me.pagesize = 3
conn.Open()
If Not Me.IsPostBack Then
'分页设置
Me.ViewState("state") = "all"
CurrentPage = 0
viewstate("pageindex") = 0
Dim intcount As Integer
cmd = New SqlCommand("select count(*) as rs from users", conn)
Dim dr As SqlDataReader = cmd.ExecuteReader()
If (dr.Read()) Then
intcount = dr("rs")
Else
intcount = 0
End If
dr.Close()
'计算共有多少条记录()
Me.RecordCount = intcount
'计算共有多少页()
If (Me.RecordCount Mod pagesize = 0) Then
PageCount = Me.RecordCount \ pagesize
Else
PageCount = RecordCount \ pagesize + 1
End If
viewstate("pagecount") = PageCount
Me.ViewState("pagecount") = PageCount
DbListBind()
ShowStats()
'让首页btnFirst变的不可以用哦
Me.btnFirst.Enabled = False
End If
End Sub
Public Sub DbListBind()
'显示数据清单+++++++++++++++++++++++++++++++++++
Dim startindex As Integer
'导入数据起始地址()
startindex = CurrentPage * pagesize
Dim strSel As String = "select * from users order by id asc"
'程序修改对象()
Dim MyAdapter As New SqlDataAdapter(strSel, conn)
MyAdapter.Fill(ds, startindex, pagesize, "guest")
Me.MyDataGrid.DataSource = ds
Me.MyDataGrid.DataBind()
Me.btnNext.Enabled = True
Me.btnPrev.Enabled = True
If CurrentPage >= PageCount - 1 Then
btnNext.Enabled = False
End If
If CurrentPage = 0 Then
btnPrev.Enabled = False
End If
lblCurrentIndex.Text = "第 " + (Me.CurrentPage + 1).ToString() + " 页"
End Sub
Public Sub PagerButtonClick(ByVal sender As Object, ByVal e As System.EventArgs)
'获得LinkButton的参数值
Dim args As String = sender.CommandArgument
CurrentPage = viewstate("pageindex")
PageCount = viewstate("pagecount")
Select Case args
Case "next"
If CurrentPage < PageCount - 1 Then
CurrentPage = CurrentPage + 1
End If
Me.btnLast.Enabled = True
Me.btnFirst.Enabled = True
If (Me.CurrentPage = Me.PageCount - 1) Then
Me.btnLast.Enabled = False
End If
Case "prev"
If CurrentPage > 0 Then
CurrentPage = CurrentPage - 1
End If
Me.btnFirst.Enabled = True
Me.btnLast.Enabled = True
If (Me.CurrentPage = 0) Then
Me.btnFirst.Enabled = False
End If
Case "last"
CurrentPage = Me.PageCount - 1
Me.btnLast.Enabled = False
Me.btnFirst.Enabled = True
Case "first"
CurrentPage = 0
Me.btnFirst.Enabled = False
Me.btnLast.Enabled = True
End Select
viewstate("pageindex") = CurrentPage
If viewstate("state") = "all" Then
DbListBind()
End If
End Sub
Public Sub DbListBind()
'显示数据清单+++++++++++++++++++++++++++++++++++
Dim startindex As Integer
'导入数据起始地址()
startindex = CurrentPage * pagesize
Dim strSel As String = "select * from users order by id asc"
'程序修改对象()
Dim MyAdapter As New SqlDataAdapter(strSel, conn)
MyAdapter.Fill(ds, startindex, pagesize, "guest")
Me.MyDataGrid.DataSource = ds
Me.MyDataGrid.DataBind()
Me.btnNext.Enabled = True
Me.btnPrev.Enabled = True
If CurrentPage >= PageCount - 1 Then
btnNext.Enabled = False
End If
If CurrentPage = 0 Then
btnPrev.Enabled = False
End If
lblCurrentIndex.Text = "第 " + (Me.CurrentPage + 1).ToString() + " 页"
End Sub
Public Sub PagerButtonClick(ByVal sender As Object, ByVal e As System.EventArgs)
'获得LinkButton的参数值
Dim args As String = sender.CommandArgument
CurrentPage = viewstate("pageindex")
PageCount = viewstate("pagecount")
Select Case args
Case "next"
If CurrentPage < PageCount - 1 Then
CurrentPage = CurrentPage + 1
End If
Case "prev"
If CurrentPage > 0 Then
CurrentPage = CurrentPage - 1
End If
Case "last"
CurrentPage = Me.PageCount - 1
Case "first"
CurrentPage = 0
End Select
viewstate("pageindex") = CurrentPage
If viewstate("state") = "all" Then
DbListBind()
End If
End Sub
Public Sub ShowStats()
lblPageCount.Text = "总共 " + Me.PageCount.ToString() + " 页"
lblRegisterCount.Text = "共 " + Me.RecordCount.ToString() + " 条"
End Sub
相关推荐
asp.net 实现分页代码 分页代码 分页代码 分页代码 分页代码 分页代码 分页代码
使用AspNetPager控件实现ASP.NET分页功能 “控件+源代码”!!
asp.net AJAX分页 分页代码asp.net AJAX分页 分页代码asp.net AJAX分页 分页代码asp.net AJAX分页 分页代码
asp.net 实现分页代码,代码简单易懂
asp.net分页控件源码含数据库完整演示代码。 更多开源代码:Asp.net开源交流群:40273821
24种分页含源码24种分页含源码24种分页含源码24种分页含源码24种分页含源码24种分页含源码24种分页含源码24种分页含源码24种分页含源码
压缩包中包含了 三个不同的压缩文件 Ajax分页 Asp.net 分页 以及提供这些分页的项目代码和真实的Demo 可以下载下来直接 运行 ...
asp.net分页代码
可自定义分页导航样式,图片、html标签
ASP.NET 分页:简单的ASP.NET 分页,页面经过美化,代码已经经过测试,内容完整。
自己写的分页源码很好用的,主要是针对于sql server 数据库的.
学习时写的一个分页控件,比较简单,可以参考参考
个人项目中常用的分页控件,跟大家分享,有什么问题大家一起研究探讨 效果大致是这样的: |< < 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 > >|
ASP.net分页代码
asp.net利用存储过程分页代码,代码很详细,有建库脚本和页面的调用。
ASP.NET 高效分页 代码 源码 里面还有说明和本人的联系方式。望能帮助新手们。大家一起进步啊。
ASP.NET MVC 分页 ASP.NET MVC 分页 ASP.NET MVC 分页
asp.net分页代码 简单好用的分页,使用QueryString方式分页 非常简单,拖个SQLDATASOURCE就能实现分页,轻松几分钟就可以了, /********************** 利用SQLDATASOURCE数据源,在其SELECTED事件中添加以下代码。...