ASP.NET DataGrid自定义分页源程序[简单实用]
2009-08-08 10:26
323 查看
首先新建一个名为article.aspx的文件,将以下内容拷贝到article.aspx.cs中: using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public partial class article : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { int cpage = Convert.ToInt32(Request.QueryString["page"]); if(cpage==0) { this.hlFrontPage.NavigateUrl = Request.ServerVariables["SCRIPT_NAME"]; this.hlNextPage.NavigateUrl = Request.ServerVariables["SCRIPT_NAME"] + "?page=" + Convert.ToString(cpage + 2); } else { this.hlFrontPage.NavigateUrl = Request.ServerVariables["SCRIPT_NAME"] + "?page=" + Convert.ToString(cpage - 1); this.hlNextPage.NavigateUrl = Request.ServerVariables["SCRIPT_NAME"] + "?page=" + Convert.ToString(cpage + 1); } this.hlFirstPage.NavigateUrl = Request.ServerVariables["SCRIPT_NAME"]; dataBin(); //*************************************************** //PageCount的值必须在数据绑定之后才能得到,否则只能是0 //*************************************************** int lastPage =this.DataGrid1.PageCount;//lastPage是记录总页数 this.hlLastPage.NavigateUrl = Request.ServerVariables["SCRIPT_NAME"] + "?page="+Convert.ToInt32(lastPage); if (cpage ==Convert.ToInt32(this.DataGrid1.PageCount)) { this.hlNextPage.NavigateUrl = Request.ServerVariables["SCRIPT_NAME"] + "?page=" + Convert.ToString(lastPage); this.hlFrontPage.NavigateUrl = Request.ServerVariables["SCRIPT_NAME"] + "?page=" + Convert.ToString(cpage - 1); } this.lbShowMess.Text= "当前第"+Convert.ToInt32(this.DataGrid1.CurrentPageIndex+1)+"页"; } public void dataBin() { DB mydb = new DB(); SqlConnection conn = mydb.createConn(); conn.Open(); SqlDataAdapter sdr = new SqlDataAdapter(); DataSet ds = new DataSet(); sdr.SelectCommand = new SqlCommand("select * from [User]", conn); sdr.Fill(ds, "users"); int page=Convert.ToInt32(Request.QueryString["page"]); if (page == 0) { page = 1; } this.DataGrid1.CurrentPageIndex =Convert.ToInt32(page-1); this.DataGrid1.DataSource = ds.Tables["users"]; this.DataGrid1.DataBind(); conn.Close(); } protected void DataGrid1_PageIndexChanged(object source, DataGridPageChangedEventArgs e) { } } 再将以下内容拷贝到article.aspx中 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="article.aspx.cs" Inherits="article" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>无标题页</title> <mce:style type="text/css"><!-- @import url('css.css'); --></mce:style><style type="text/css" mce_bogus="1"> @import url('css.css'); </style> </head> <body> <form id="form1" runat="server"> <div style="text-align: center" mce_style="text-align: center"> <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"> <Columns> <asp:TemplateColumn> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem,"id") %> </ItemTemplate> <HeaderStyle Width="10px" /> <ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Left" /> </asp:TemplateColumn> <asp:TemplateColumn> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem,"Uid") %> </ItemTemplate> <ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Left" /> <HeaderStyle Width="450px" /> </asp:TemplateColumn> <asp:TemplateColumn> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem,"title") %> </ItemTemplate> <HeaderStyle Width="30px" /> <ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Center" /> </asp:TemplateColumn> <asp:TemplateColumn> <ItemTemplate> <input id="Checkbox1" type="checkbox" value="<%# DataBinder.Eval(Container.DataItem,"id") %>" /> </ItemTemplate> <HeaderStyle Width="10px" /> <ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Center" /> </asp:TemplateColumn> </Columns> <PagerStyle Visible="False" BackColor="#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" /> <FooterStyle BackColor="#FFFFCC" ForeColor="#330099" /> <SelectedItemStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" /> <ItemStyle BackColor="White" ForeColor="#330099" /> <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" /> </asp:DataGrid> <br /> <asp:HyperLink ID="hlFirstPage" runat="server">首页</asp:HyperLink> <asp:HyperLink ID="hlFrontPage" runat="server">上一页</asp:HyperLink> <asp:HyperLink ID="hlNextPage" runat="server">下一页</asp:HyperLink> <asp:HyperLink ID="hlLastPage" runat="server">末页</asp:HyperLink> <asp:Label ID="lbShowMess" runat="server" Width="104px"></asp:Label></div> </form> </body> </html>
相关文章推荐
- ASP.NET中 DataGrid简单自定义分页
- asp.net 中DataGrid自定义分页(简单,实用,易懂)
- asp.net安全、实用、简单的大容量存储过程分页第1/2页
- 为 ASP.NET Datagrid 创建自定义列
- Asp.Net中DataGrid的模版列(TemplateColumn)内容控制简单方法
- ASP.NET Session 简单超实用使用总结
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- ASP.Net Membership简单的自定义provider
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- 超级简单:在你的ASP.NET页面自定义列表和分页
- ASP.NET自定义简单分页
- asp.net中sitemap的简单实用
- asp.net 中DataGrid自定义分页(简单,实用,易懂)
- asp.net 安全、实用、简单的大容量存储过程分页第1/2页
- 分页 sql 语句 及在 asp.net 中自定义 datagrid 分页
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- 怎样让WinForms下DataGrid可以像ASP.NET下的DataGrid一样使用自定义的模板列
- asp.net 自己封装数据库操作一个类中一个自定义方法Execute(),非常实用,省去了麻烦的中间过程,动态参数