個性化分頁

HTML CODE
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<body>
    <h3>
        <font face="Verdana">Customer Pager</font></h3>
    <form id="Form1" runat="server">
        <asp:DataGrid ID="MyDataGrid" runat="server" AllowPaging="True" PageSize="10" PagerStyle-Mode="NumericPages"
            PagerStyle-HorizontalAlign="Right" BorderColor="black" BorderWidth="1" GridLines="Both"
            CellPadding="3" CellSpacing="0" Font-Names="Verdana" Font-Size="8pt" HeaderStyle-BackColor="#aaaadd"
            AlternatingItemStyle-BackColor="#eeeeee" AutoGenerateColumns="false">
            <Columns>
                <asp:BoundColumn HeaderText="ID" DataField="RecordID" Visible="false" />
                <asp:BoundColumn HeaderText="User Name" DataField="UserName" />
                <asp:BoundColumn HeaderText="Time" DataField="Time" />
                <asp:BoundColumn HeaderText="Activity" DataField="Activity" />
            </Columns>
        </asp:DataGrid>
        <p>
        </p>
        <asp:LinkButton ID="btnFirst" runat="server" Text="First" CommandArgument="0"
            ForeColor="navy" Font-Names="verdana" Font-Size="8pt" OnClick="btnPageLink_Click" />
        <asp:LinkButton ID="btnPrev" runat="server" Text="Prev" CommandArgument="prev" ForeColor="navy"
            Font-Names="verdana" Font-Size="8pt" OnClick="btnPageLink_Click" />
        <asp:LinkButton ID="btnNext" runat="server" Text="Next" CommandArgument="next" ForeColor="navy"
            Font-Names="verdana" Font-Size="8pt" OnClick="btnPageLink_Click" />
        <asp:LinkButton ID="btnLast" runat="server" Text="Last" CommandArgument="last" ForeColor="navy"
            Font-Names="verdana" Font-Size="8pt" OnClick="btnPageLink_Click" />
        <p>
        </p>
        <asp:CheckBox ID="chk1" runat="server" Text="Display Nei Zhi Page Num" Font-Names="Verdana"
            Font-Size="8pt" AutoPostBack="true" />
        <p>
        </p>
        <table bgcolor="#eeeeee" cellpadding="6">
            <tr>
                <td>
                    <font face="Verdana" size="-2">
                        <asp:Label ID="lblCurrentIndex" runat="server" /><br>
                        <asp:Label ID="lblPageCount" runat="server" /><br>
                    </font>
                </td>
            </tr>
        </table>
    </form>
</body>
</html>
*********************************************************************************
cs Code
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
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.Collections;
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender , EventArgs e)
    {
        if (chk1.Checked)
        {
            MyDataGrid.PagerStyle.Visible = true;
        }
        else
        {
            MyDataGrid.PagerStyle.Visible = false;
        }
        BindGrid();
    }
    private void BindGrid()
    {
        MyDataGrid.DataSource = CreateDataSource();
        MyDataGrid.DataBind();
        ShowStatus();
    }
    private void ShowStatus()
    {
        lblCurrentIndex.Text = "Current page:" + ((int)MyDataGrid.CurrentPageIndex + 1);
        lblPageCount.Text = "Total Page:" + MyDataGrid.PageCount;
    }
    private ICollection CreateDataSource()
    {
        SqlConnection MyConnection = new SqlConnection("Data Source=SQL2KSVR;Initial Catalog=APLNetTest.apl;Persist Security Info=True;User ID=sa;Password=arlington");
        SqlDataAdapter myDataAdapter = new SqlDataAdapter("select * from ActivityLog order by [Time] desc" , MyConnection);
        DataSet ds = new DataSet();
        myDataAdapter.Fill(ds , "ActiveLog");
        return ds.Tables["ActiveLog"].DefaultView;
    }
    protected void btnPageLink_Click(object sender , EventArgs e)
    {
        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 ("last"):
                MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);
                break;
            default:
                MyDataGrid.CurrentPageIndex = Int32.Parse((arg));
                break;
        }
        BindGrid();
    }
}
*******************************************************************************
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章