2010-08-29 132 views
3

我有一個網格視圖有10行。我已經設置paging = truepageSize = 2asp.net gridview分頁

現在,當我嘗試通過後述的連結,透過網頁瀏覽像1,2,3 ,然後我收到錯誤類似事件的需要pageIndexChanged

我添加了這個事件,但不明白應該通過維護每個頁面中的狀態來添加到這個事件以導航到下一個頁面的代碼是什麼?

請讓我知道

回答

1

所有你需要做的是設置的PageIndex爲GridView到新頁面,並控制重新綁定。

protected void gridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 
    gridView1.PageIndex = e.NewPageIndex; 
    BindGrid(); // this is whatever method you call to bind your data. 
} 

編輯:

您應該已經爲GridView的數據綁定事件的事件處理程序:

protected void GridView1_DataBound(object sender, EventArgs e) 
{ 
    // lots of code here to do stuff with bound data. 
} 

相反有「大量的代碼」的,你有這樣的:

protected void GridView1_DataBound(object sender, EventArgs e) 
{ 
    BindGrid(); 
} 

因此在PageIndexChanging上事件,你所做的只是重新綁定數據(爲DataBound事件調用相同的邏輯)。

有意義嗎?

+0

GridView1.DataSource = dt; GridView1.DataBind(); 這是我編寫的代碼綁定我的數據網格點擊一些按鈕。所以我應該重新如此以及如何,你的意思是我應該在這裏執行數據庫操作beacue dt id in Button click event and not out side out – NoviceToDotNet 2010-08-29 12:32:59

+0

以一種方式重構代碼,使得dt可以從PageIndexChanging Eventhandler – citronas 2010-08-29 12:35:34

+0

如何能做到這一點,我可以再次獲得相同的DT綁定我真的是新手,請給我建議我應該有的結構。 因爲我在按鈕點擊dt。 我應該在全局聲明一個dt,但是在回發之後它會使它成爲一個emapty數據表我應該怎麼做? – NoviceToDotNet 2010-08-29 12:46:57