1

GridviewをTrueに設定AllowPagingしました。複数のページを記録すると、ページの番号(1,2、..)が表示されますが、番号をクリックすると他のページ(Page2,3、...)が表示されず、ページには表示されません。変わらない

イベントで使用DataBind()してPageIndexChangingいますが、番号をクリックするとGridViewが表示されません

4

2 に答える 2

0

を呼び出すだけでは不十分GridView.DataBind()です。また、新しいを設定する必要がありPageIndexますPageIndexChanging

void GridView1_PageIndexChanging(Object sender, GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;
    // now get the DataSource(f.e. from database) and assign it
    GridView1.DataBind();
}

Page_Loadまた、ポストバックでDataSourceをGridViewにバインドするのではなく、常にIsPostbackプロパティをチェックする必要があることに注意してください。

後者の場合、Page.IsPostbackの場合はそのデータソースにバインドGridViewしないでください。page_load

void Page_Load(Object sender, EventArgs e)
{
    if(!Page.IsPostback)
    {
         BindGridView(); // assuming this is the method where you databind the grid
    }
}
于 2012-10-09T11:06:27.877 に答える
0

PageIndexChangingでDatabindを呼び出すだけではなく、GridViewsPageIndexを次のように設定する必要があります。

void GrdView_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView x = ((GridView)sender);

        if (e.NewPageIndex > -1 && e.NewPageIndex <= x.PageCount)
        {
            x.PageIndex = e.NewPageIndex;
        }

        GrdView.DataBind();
    }
于 2012-10-09T11:08:58.297 に答える