2009-09-23 237 views
3

我有一個asp.net C#web應用程序。其中我有一個gridview。 gridview從數據庫中獲取搜索結果。有時會有很多結果,所以我想使用分頁。下面是我的嘗試:gridview_paging搞砸了

 protected void grdResults_PageIndexChanging(object sender, GridViewPageEventArgs e) 
    { 
     grdResults.PageIndex = e.NewPageIndex; 
     grdResults.DataBind(); 
    } 

出於某種原因,當我點擊一個頁碼,它讓我看到EmptyDataText(有沒有記錄顯示)。什麼代碼會起作用? 請幫忙。

謝謝

回答

0

您需要調用數據綁定之前重新分配你的數據源grdResults()。

+0

僅當它尚未在標記或Load事件中聲明時。你有ViewState被禁用?如果沒有,我不認爲你需要重新綁定數據,除非你的數據源只包含顯示的記錄(並且省略了其他頁面上的記錄)。 –

+0

你是對的。我不需要重新綁定數據。但現在,它不會更改頁面,直到我點擊兩次頁碼... – zohair

1

嘗試在NeedDataSource事件中分配數據源。

乾杯。

0

試試這個代碼將absoloutly工作:

protected void GV_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 

    GV.PageIndex = e.NewPageIndex; 
    BindGrid(); 
} 

    public override void BindGrid() 
{ 
    query = new CommonQueries(); 
    GV.DataSource = query.getAllBooks(); 
    GV.DataBind(); 
} 

問題與您的代碼是你did'nt數據源重新分配給你的GridView!