参考 http://www.bc-cn.net/Article/net/aspx/jszl/200601/3302.html
           http://www.51it.org/kaifa/dotnet/Netwenzhai/datagrid/200508/29774.html
html:

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>无标题页</title>
</head>
<body>


<form id="DictList" method="post" runat="server">
<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing="0" width="100%" border="1">
<TR>
<td bgColor="#c0c000">信息:<FONT face="Arial" color="#ffffff">数据维护</FONT>
</td>
</TR>
<tr>
<td><FONT face="宋体"></FONT></td>
</tr>
<tr>
<td><asp:datagrid id="MyDataGrid" runat="server" Width="100%" PageSize="4" AllowPaging="True" AutoGenerateColumns="False" DataKeyField="Student_id">
<SelectedItemStyle BackColor="#FFC080"></SelectedItemStyle>
<HeaderStyle BackColor="#C0C000"></HeaderStyle>
<Columns>
<asp:ButtonColumn Text="选择" HeaderText="选择" CommandName="Select">
<HeaderStyle Font-Bold="True" HorizontalAlign="Center" Width="8%"></HeaderStyle>
<ItemStyle Font-Bold="True" HorizontalAlign="Center"></ItemStyle>
</asp:ButtonColumn>
<asp:BoundColumn DataField="Student_id" SortExpression="Student_id asc" HeaderText="Student_id标识号">
<HeaderStyle Width="15%"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="Student_name" SortExpression="Student_name asc" HeaderText="Student_name名称">
<HeaderStyle Width="15%"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="Student_sex" SortExpression="Student_sex asc" HeaderText="Student_sex英文名称">
<HeaderStyle Width="15%"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="Student_nation" SortExpression="Student_nation asc" HeaderText="Student_nation描叙">
<HeaderStyle Width="47%"></HeaderStyle>
</asp:BoundColumn>
</Columns>
<PagerStyle Visible="False"></PagerStyle>
</asp:datagrid></td>
</tr>
</TABLE>
<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing="0" width="100%" bgColor="#ff9966" border="1">
<TR>
<td align="right">
         <asp:linkbutton id="btnFirst" runat="server" CommandArgument="fist" OnClick="btnFirst_Click">首页</asp:linkbutton>&nbsp;&nbsp;
        
         <asp:linkbutton id="btnPrev" runat="server"  CommandArgument="prev" OnClick="btnPrev_Click">上一页</asp:linkbutton>&nbsp;&nbsp;
        
         <asp:linkbutton id="btnNext" runat="server" CommandArgument="next" OnClick="btnNext_Click">下一页</asp:linkbutton>&nbsp;&nbsp;
        
         <asp:linkbutton id="btnLast" runat="server" CommandArgument="last" OnClick="btnLast_Click">末页</asp:linkbutton>&nbsp;&nbsp;
        
         <asp:label id="lblCurrentIndex" runat="server"></asp:label>/<asp:label id="lblPageCount" runat="server"></asp:label>&nbsp;&nbsp;
        
          跳转到<asp:TextBox id="txtGoPage" runat="server" Width="30px" CssClass="textbox"></asp:TextBox>
        <asp:Button id="btnGo" runat="server" Text="GO" CssClass="button" Width="29px" OnClick="btnGo_Click1"></asp:Button></td>
</TR>
</TABLE>
</form>

</body>
</html>


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 tab : System.Web.UI.Page
{
    SqlConnection cn;
    string strsql;
    protected void Page_Load(object sender, EventArgs e)
    {
        // 在此处放置用户代码以初始化页面

        string strconn = ConfigurationSettings.AppSettings["dsn"];
        cn = new SqlConnection(strconn);
       // myConnection = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["pubsConnectionString"]);

        if (!IsPostBack)
       
           BindGrid();
       
    }

    public void BindGrid()
    {
        //   string strSql = "SELECT * FROM authors";
        //  SqlDataAdapter myCommand = new SqlDataAdapter(strSql, myConnection);
        //  DataSet ds = new DataSet();
        //  myCommand.Fill(ds,"authors");
        ///   MyDataGrid.DataSource = ds.Tables[0].DefaultView;
        ///   MyDataGrid.DataBind();
        //   ShowStatsPage();

        strsql = "select * from student";
        SqlDataAdapter da = new SqlDataAdapter(strsql, cn);
        DataSet ds = new DataSet();
        da.Fill(ds);
        MyDataGrid.DataSource = ds;
        MyDataGrid.DataBind();
        ShowStatsPage();
    }

    private void PagerButtonClick(object sender, System.EventArgs e)
    {
        //获得LinkButton的参数值
        String arg = ((LinkButton)sender).CommandArgument;

        switch (arg)
        {
            case ("next"):
                if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))
                    MyDataGrid.CurrentPageIndex++;
                break;
            case ("prev"):
                if (MyDataGrid.CurrentPageIndex > 0)
                    MyDataGrid.CurrentPageIndex--;
                break;
            case ("fist"):
                MyDataGrid.CurrentPageIndex = 0;
                break;
            case ("last"):
                MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);
                break;
            default:
                //本页值
                MyDataGrid.CurrentPageIndex = Convert.ToInt32(arg);
                break;
        }
        BindGrid();
    }

    void ShowStatsPage()
    {
        //显示页面信息
        lblCurrentIndex.Text = " 当前为第" +((int)MyDataGrid.CurrentPageIndex + 1) +"页";
        lblPageCount.Text = " 共" + MyDataGrid.PageCount + "页";
      //  lblCurrentIndex.Text = " <font color="blue">  当前为第:" + ((int)MyDataGrid.CurrentPageIndex+1) + "页 </font>";
        //lblPageCount.Text = " [<font color="blue">  共:" + MyDataGrid.PageCount + "页 </font>]";
    }

 

    private void MyDataGrid_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
    {
        //处理按下数字的方法
        MyDataGrid.CurrentPageIndex = e.NewPageIndex;
        BindGrid();
    }

 

    private void btnGo_Click(object sender, System.EventArgs e)
    {
        //页面直接跳转的代码
        if (txtGoPage.Text.Trim() != "")
        {
            int PageI = Int32.Parse(txtGoPage.Text.Trim()) - 1;
            if (PageI >= 0 && PageI < (MyDataGrid.PageCount))
                MyDataGrid.CurrentPageIndex = PageI;
        }
        BindGrid();
    }
    //----------------------翻页代码结束
    protected void btnNext_Click(object sender, EventArgs e)
    {
        //获得LinkButton的参数值
        String arg = ((LinkButton)sender).CommandArgument;

        switch (arg)
        {
            case ("next"):
                if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))
                    MyDataGrid.CurrentPageIndex++;
                break;
            case ("prev"):
                if (MyDataGrid.CurrentPageIndex > 0)
                    MyDataGrid.CurrentPageIndex--;
                break;
            case ("fist"):
                MyDataGrid.CurrentPageIndex = 0;
                break;
            case ("last"):
                MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);
                break;
            default:
                //本页值
                MyDataGrid.CurrentPageIndex = Convert.ToInt32(arg);
                break;
        }
        BindGrid();
    }
    protected void btnPrev_Click(object sender, EventArgs e)
    {
        //获得LinkButton的参数值
        String arg = ((LinkButton)sender).CommandArgument;

        switch (arg)
        {
            case ("next"):
                if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))
                    MyDataGrid.CurrentPageIndex++;
                break;
            case ("prev"):
                if (MyDataGrid.CurrentPageIndex > 0)
                    MyDataGrid.CurrentPageIndex--;
                break;
            case ("fist"):
                MyDataGrid.CurrentPageIndex = 0;
                break;
            case ("last"):
                MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);
                break;
            default:
                //本页值
                MyDataGrid.CurrentPageIndex = Convert.ToInt32(arg);
                break;
        }
        BindGrid();
    }
    protected void btnLast_Click(object sender, EventArgs e)
    {
        //获得LinkButton的参数值
        String arg = ((LinkButton)sender).CommandArgument;

        switch (arg)
        {
            case ("next"):
                if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))
                    MyDataGrid.CurrentPageIndex++;
                break;
            case ("prev"):
                if (MyDataGrid.CurrentPageIndex > 0)
                    MyDataGrid.CurrentPageIndex--;
                break;
            case ("fist"):
                MyDataGrid.CurrentPageIndex = 0;
                break;
            case ("last"):
                MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);
                break;
            default:
                //本页值
                MyDataGrid.CurrentPageIndex = Convert.ToInt32(arg);
                break;
        }
        BindGrid();
    }
    protected void btnFirst_Click(object sender, EventArgs e)
    {
        //获得LinkButton的参数值
        String arg = ((LinkButton)sender).CommandArgument;

        switch (arg)
        {
            case ("next"):
                if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))
                    MyDataGrid.CurrentPageIndex++;
                break;
            case ("prev"):
                if (MyDataGrid.CurrentPageIndex > 0)
                    MyDataGrid.CurrentPageIndex--;
                break;
            case ("fist"):
                MyDataGrid.CurrentPageIndex = 0;
                break;
            case ("last"):
                MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);
                break;
            default:
                //本页值
                MyDataGrid.CurrentPageIndex = Convert.ToInt32(arg);
                break;
        }
        BindGrid();
    }
    protected void btnGo_Click1(object sender, EventArgs e)
    {
        //页面直接跳转的代码
        if (txtGoPage.Text.Trim() != "")
        {
            int PageI = Int32.Parse(txtGoPage.Text.Trim()) - 1;
            if (PageI >= 0 && PageI < (MyDataGrid.PageCount))
                MyDataGrid.CurrentPageIndex = PageI;
        }
        BindGrid();
    }
}

posted on 2006-12-01 00:39  ipusr  阅读(238)  评论(0)    收藏  举报