ASP.NET DataGrid自定义分页源程序
创始人
2024-04-28 14:41:36
0

首先新建一个名为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自定义分页的实现。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...