ASP.NET DataGrid自定义分页源程序

开发 后端
本文提供一个ASP.NET DataGrid自定义分页源程序。

首先新建一个名为article.aspx的文件,将以下内容拷贝到article.aspx.cs中:   

ASP.NET DataGrid自定义分页代码1

  1. using System;     
  2. using System.Data;     
  3. using System.Configuration;     
  4. using System.Collections;     
  5. using System.Web;     
  6. using System.Web.Security;     
  7. using System.Web.UI;     
  8. using System.Web.UI.WebControls;     
  9. using System.Web.UI.WebControls.WebParts;     
  10. using System.Web.UI.HtmlControls;     
  11. using System.Data.SqlClient;     
  12. public partial class article : System.Web.UI.Page     
  13. {     
  14.     protected void Page_Load(object sender, EventArgs e)     
  15.     {     
  16.         int cpage = Convert.ToInt32(Request.QueryString["page"]);     
  17.         if(cpage==0)     
  18.         {     
  19.             this.hlFrontPage.NavigateUrl = Request.ServerVariables["SCRIPT_NAME"];     
  20.             this.hlNextPage.NavigateUrl = Request.ServerVariables["SCRIPT_NAME"] + "?page=" + Convert.ToString(cpage + 2);     
  21.         }     
  22.         else    
  23.         {     
  24.             this.hlFrontPage.NavigateUrl = Request.ServerVariables["SCRIPT_NAME"] + "?page=" + Convert.ToString(cpage - 1);     
  25.             this.hlNextPage.NavigateUrl = Request.ServerVariables["SCRIPT_NAME"] + "?page=" + Convert.ToString(cpage + 1);     
  26.         }     
  27.         this.hlFirstPage.NavigateUrl = Request.ServerVariables["SCRIPT_NAME"];            
  28.              dataBin();     
  29.         //***************************************************     
  30.         //PageCount的值必须在数据绑定之后才能得到,否则只能是0     
  31.         //***************************************************     
  32.         int lastPage =this.DataGrid1.PageCount;//lastPage是记录总页数     
  33.         this.hlLastPage.NavigateUrl = Request.ServerVariables["SCRIPT_NAME"] + "?page="+Convert.ToInt32(lastPage);     
  34.         if (cpage ==Convert.ToInt32(this.DataGrid1.PageCount))     
  35.         {     
  36.             this.hlNextPage.NavigateUrl = Request.ServerVariables["SCRIPT_NAME"] + "?page=" + Convert.ToString(lastPage);     
  37.             this.hlFrontPage.NavigateUrl = Request.ServerVariables["SCRIPT_NAME"] + "?page=" + Convert.ToString(cpage - 1);     
  38.         }     
  39.         this.lbShowMess.Text"当前第"+Convert.ToInt32(this.DataGrid1.CurrentPageIndex+1)+"页";     
  40.     }     
  41.     public void dataBin()     
  42.     {     
  43.         DB mydb = new DB();     
  44.         SqlConnection conn = mydb.createConn();     
  45.         conn.Open();     
  46.         SqlDataAdapter sdr = new SqlDataAdapter();     
  47.         DataSet ds = new DataSet();     
  48.     
  49.         sdr.SelectCommand = new SqlCommand("select * from [User]", conn);     
  50.         sdr.Fill(ds, "users");     
  51.     
  52.         int page=Convert.ToInt32(Request.QueryString["page"]);     
  53.         if (page == 0)     
  54.         {     
  55.             page = 1;     
  56.         }     
  57.         this.DataGrid1.CurrentPageIndex =Convert.ToInt32(page-1);     
  58.         this.DataGrid1.DataSource = ds.Tables["users"];     
  59.         this.DataGrid1.DataBind();     
  60.         conn.Close();     
  61.     }     
  62.     protected void DataGrid1_PageIndexChanged(object source, DataGridPageChangedEventArgs e)     
  63.     {     
  64.     
  65.     }     
  66. }     

再将以下内容拷贝到article.aspx中   

ASP.NET DataGrid自定义分页代码2

  1. < %@ Page Language="C#" AutoEventWireup="true" CodeFile="article.aspx.cs" Inherits="article" %>     
  2. < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">     
  3. < html xmlns="http://www.w3.org/1999/xhtml" >     
  4. < head runat="server">     
  5.     < title>无标题页< /title>     
  6.     < mce:style type="text/css">< !--     
  7.     @import url('css.css');     
  8.          
  9. -->< /mce:style>< style type="text/css" mce_bogus="1">    @import url('css.css');     
  10.     < /style>     
  11. < /head>     
  12. < body>     
  13.     < form id="form1" runat="server">     
  14.     < div style="text-align: center" mce_style="text-align: center">     
  15.         < asp:DataGrid ID="DataGrid1" runat="server" AutoGenerateColumns="False" AllowPaging="True" OnPageIndexChanged="DataGrid1_PageIndexChanged" Width="500px" ShowHeader="False" BackColor="White" BorderColor="#CC9966" BorderStyle="None" CellPadding="4" Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" Font-Underline="False" GridLines="None">     
  16.             < Columns>     
  17.                 < asp:TemplateColumn>     
  18.                 < ItemTemplate>     
  19.                 < %# DataBinder.Eval(Container.DataItem,"id") %>     
  20.                 < /ItemTemplate>     
  21.                     < HeaderStyle Width="10px" />     
  22.                     < ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"    
  23.                         Font-Underline="False" HorizontalAlign="Left" />     
  24.                 < /asp:TemplateColumn>     
  25.                 < asp:TemplateColumn>     
  26.                   < ItemTemplate>     
  27.                 < %# DataBinder.Eval(Container.DataItem,"Uid") %>     
  28.                 < /ItemTemplate>     
  29.                     < ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"    
  30.                         Font-Underline="False" HorizontalAlign="Left" />     
  31.                     < HeaderStyle Width="450px" />     
  32.                 < /asp:TemplateColumn>     
  33.                 < asp:TemplateColumn>     
  34.                   < ItemTemplate>     
  35.                 < %# DataBinder.Eval(Container.DataItem,"title") %>     
  36.                 < /ItemTemplate>     
  37.                     < HeaderStyle Width="30px" />     
  38.                     < ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"    
  39.                         Font-Underline="False" HorizontalAlign="Center" />     
  40.                 < /asp:TemplateColumn>     
  41.                 < asp:TemplateColumn>     
  42.                   < ItemTemplate>     
  43.                       < input id="Checkbox1" type="checkbox" value="< %# DataBinder.Eval(Container.DataItem,"id") %>" />     
  44.                 < /ItemTemplate>     
  45.                     < HeaderStyle Width="10px" />     
  46.                     < ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"    
  47.                         Font-Underline="False" HorizontalAlign="Center" />     
  48.                 < /asp:TemplateColumn>     
  49.             < /Columns>     
  50.             < PagerStyle Visible="False" BackColor="#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" />     
  51.             < FooterStyle BackColor="#FFFFCC" ForeColor="#330099" />     
  52.             < SelectedItemStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" />     
  53.             < ItemStyle BackColor="White" ForeColor="#330099" />     
  54.             < HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" />     
  55.         < /asp:DataGrid>  < br />     
  56.         < asp:HyperLink ID="hlFirstPage" runat="server">首页< /asp:HyperLink>     
  57.             < asp:HyperLink ID="hlFrontPage" runat="server">上一页< /asp:HyperLink>     
  58.         < asp:HyperLink ID="hlNextPage" runat="server">下一页< /asp:HyperLink>     
  59.                
  60.         < asp:HyperLink ID="hlLastPage" runat="server">末页< /asp:HyperLink>      
  61.         < asp:Label ID="lbShowMess" runat="server" Width="104px">< /asp:Label>< /div>     
  62.     < /form>     
  63. < /body>     
  64. < /html>    

以上就介绍了ASP.NET DataGrid自定义分页的实现。

责任编辑:周立方 来源: CSDN博客
相关推荐

2009-04-09 09:51:09

ASP.NETSQL Server 自定义分页

2009-08-06 17:13:56

ASP.NET自定义控

2009-08-04 13:35:16

ASP.NET自定义样

2009-07-28 09:32:41

ASP.NET自定义控

2009-08-10 14:16:59

ASP.NET自定义控

2009-07-31 10:23:09

ASP.NET源码DateTimePic

2009-11-24 15:11:21

ASP.NET MVC

2011-04-19 10:33:16

ASP.NET自定义控

2009-08-10 16:58:45

ASP.NET安装部署

2009-07-22 15:27:39

ASP.NET MVC自定义路由

2011-09-08 13:56:41

ASP.NET性能

2010-04-30 09:32:49

ASP.NET MVC

2009-08-07 17:56:07

DataGrid的样式

2009-08-05 17:58:53

自定义集合ASP.NET 2.0

2009-08-06 09:18:01

ASP.NET自定义控ASP.NET控件开发

2009-08-01 12:00:15

ASP.NET服务器自ASP.NET服务器ASP.NET

2009-07-31 14:49:22

asp.net自定义错

2011-05-19 10:16:27

ASP.NET

2009-08-07 11:12:58

ASP.NET控件开发

2009-08-06 17:52:45

ASP.NET控件开发自定义控件
点赞
收藏

51CTO技术栈公众号