GridviewをTrueに設定AllowPaging
しました。複数のページを記録すると、ページの番号(1,2、..)が表示されますが、番号をクリックすると他のページ(Page2,3、...)が表示されず、ページには表示されません。変わらない
イベントで使用DataBind()
してPageIndexChanging
いますが、番号をクリックするとGridViewが表示されません
GridviewをTrueに設定AllowPaging
しました。複数のページを記録すると、ページの番号(1,2、..)が表示されますが、番号をクリックすると他のページ(Page2,3、...)が表示されず、ページには表示されません。変わらない
イベントで使用DataBind()
してPageIndexChanging
いますが、番号をクリックするとGridViewが表示されません
を呼び出すだけでは不十分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
}
}
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();
}