2012年12月3日月曜日

ASP.NET GridView でページング

ASP.NET の GridView でページングを使う実装例です。
ページング時に発生する PageIndexChanging をハンドルしてページインデックス指定とデータの再バインドをします。↓こんな感じ

ASPX
<asp:GridView ID="GridView1" runat="server"
                  AllowPaging="True" Height="292px" 
                  onpageindexchanging="GridView1_PageIndexChanging"
                  Width="406px">
</asp:GridView>

C#
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        DataColumn[] PrimaryColumn = new DataColumn[1];
        DataTable datatable = new DataTable();
        PrimaryColumn[0] = datatable.Columns.Add("ID", typeof(string));
        datatable.Columns.Add("ProductName", typeof(string));
        datatable.Columns.Add("Description", typeof(string));

        for (int i = 0; i < 100; i++)
        {
            datatable.Rows.Add(i.ToString(), "Product : " + i.ToString(), "Note : " + i.ToString());
        }

        datatable.PrimaryKey = PrimaryColumn;

        Session["data"] = datatable;
    }

    this.GridView1.DataSource = Session["data"];
    this.GridView1.DataBind();
}

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    this.GridView1.PageIndex = e.NewPageIndex;
    this.GridView1.DataBind();
}


PageIndexChanging に上記実装をしていないと、ページが変わりません。ご注意下さい~!!


paging in gridview in asp.net
http://www.codeproject.com/Questions/262776/paging-in-gridview-in-asp-net


0 件のコメント:

コメントを投稿