解析简单实用的DataGrid自定义分页源程序_.Net教程

编辑Tag赚U币
教程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教程/更新时间:2010-02-26
相关.Net教程