ASP.NET:GridView:なぜかNumericNextPreviousがない中途半端なオートページャの対応

ここにありました。なぜか無い不思議なモード。

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

public partial class ListTable : System.Web.UI.UserControl
{
    protected void OnRowCreated(object sender, GridViewRowEventArgs e)
    {
        GridView gv = (GridView)sender;
        if (e.Row.RowType == DataControlRowType.Pager)
        {
            if (gv.PageIndex != gv.PageCount - 1)
            {

                LinkButton lbn = new LinkButton();
                lbn.CommandName = "Page";
                lbn.CommandArgument = "Next";
                lbn.Text = ">>";
                TableCell tc1 = new TableCell();
                tc1.Controls.Add(lbn);
                e.Row.Cells[0].Controls[0].Controls[0].Controls.Add(tc1);
            }
            if (gv.PageIndex != 0)
            {
                LinkButton lbp = new LinkButton();
                lbp.CommandName = "Page";
                lbp.CommandArgument = "Prev";
                lbp.Text = "<<";
                TableCell tc2 = new TableCell();
                tc2.Controls.Add(lbp);
                e.Row.Cells[0].Controls[0].Controls[0].Controls.AddAt(0, tc2);
            }

        }

    }
}
実際にはこのクラスを継承したUserControlを作ってページに貼り付けます。*.ascx のプロパティに、
<asp:GridView ID="GridViewMain" runat="server" 
	AllowPaging="True" AutoGenerateColumns="False"
      DataSourceID="MainDataSource" BorderWidth="0px" 
	GridLines="None" 	
	onrowcreated="OnRowCreated">

見たいに設定すると呼ばれます。

カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中