3

データベースから 100 件のレコードのうち 10 件を取り出して、グリッドビューに配置しています (ここにはデータソース オブジェクトはありません)。

グリッドビューに付属するページングを有効にするにはどうすればよいですか? 合計レコード数が 100 であることはわかっていますが、これを使用してページングを有効にすることはできますか?

DataSource オブジェクトを使用してこれを簡単に実行できることはわかっていますが、GridView に関する限り、完全に手動で実行できるかどうか疑問に思っていました。

マークアップ

<form id="form1" runat="server">
<div>

    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
        AllowSorting="True" onpageindexchanging="GridView1_PageIndexChanging" 
        onsorting="GridView1_Sorting">
    </asp:GridView>

</div>
</form>

分離コード

protected void Page_Load(object sender, EventArgs e)
{
    GridView1.DataSource = GetCustomers();
    GridView1.DataBind();
}

強いテキスト

4

1 に答える 1

2

これを試して:

protected void Page_Load(object sender, EventArgs e)
{
   if(!Page.IsPostback) {BindData();}
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
     GridView1.DataSource = GetCustomers();
     GridView1.PageIndex = e.NewPageIndex;
     GridView1.DataBind();

}

void BindData()
{
   GridView1.DataSource = GetCustomers();
   GridView1.DataBind();

}

また、これをグリッドビューマークアップに追加する必要があります。

OnPageIndexChanging="GridView1_PageIndexChanging"
于 2012-05-11T02:52:24.443 に答える