解析简单实用的DataGrid自定义分页源程序_.Net教程
教程Tag:暂无Tag,欢迎添加,赚取U币!
推荐:详解datalist的用法设计模版: 页眉 HeaderTemplate /HeaderTemplate 页脚 FooterTemplate /FooterTemplate 数据记录 ItemTemplate /ItemTemplate AlternatingItemTemplate交替显示项 /AlternatingItemTemplate SelectedItemTemplate选中时的显示方式 /SelectedItemTemplate Ed
首先新建一个名为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> |
分享:解读访问本机IIS站点被要求输入用户名和密码访问发布在本机IIS上的站点时,老弹出一个框要求输入用户名密码,而输入本机的管理员帐户,却还是弹出这个框来。这个问题非常烦,网上的意见如下: 1.设置发布目录文件夹的访问权限,允许everyone访问。 2.设置IIS安全选项卡中,允许匿名访问。 这里漏过了一
相关.Net教程:
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP发送Email实例(可带附件)
- js实现广告漂浮效果的小例子
- asp.net Repeater 数据绑定的具体实现
- Asp.Net 无刷新文件上传并显示进度条的实现方法及思路
- Asp.net获取客户端IP常见代码存在的伪造IP问题探讨
- VS2010 水晶报表的使用方法
- ASP.NET中操作SQL数据库(连接字符串的配置及获取)
- asp.net页面传值测试实例代码
- DataGridView - DataGridViewCheckBoxCell的使用介绍
- asp.net中javascript的引用(直接引入和间接引入)
- 三层+存储过程实现分页示例代码
- 相关链接:
- 教程说明:
.Net教程-解析简单实用的DataGrid自定义分页源程序。