2011-05-12 80 views
0

我有一個DataGrid設置與項目列表顯示,我有一個下拉列表中有三個選項,「15」結果,「25」結果和「全部」。我在cs OnSelectedIndexChanged中有一個方法,它應該改變DataGrid的分頁設置,我已經檢查了傳遞給該方法的值並且它是正確的,但是,當我運行應用程序並從下拉列表中選擇一個選項時什麼都沒發生。限制在DataGrid的結果

有誰知道爲什麼會發生這種情況?只能在PageLoad上指定DataGrid分頁嗎?或者我剛剛完全接近這個問題錯誤的方式.....

在此先感謝您的幫助!

這是我的方法的代碼背後

protected void ddlShowIncomplete_OnSelectedIndexChanged(Object sender,EventArgs e) 
    { 
     if (ddlShowIncomplete.SelectedValue == "15") 
     { 
      dgRequests.AllowPaging = true; 
      dgRequests.PageSize = 5; 
     } 
     else if (ddlShowIncomplete.SelectedValue == "25") 
     { 
      dgRequests.AllowPaging = true; 
      dgRequests.PageSize = 2; 
     } 
     else if (ddlShowIncomplete.SelectedValue == "All") 
     { 
      dgRequests.AllowPaging = false; 
     } 
     else 
     { 

     } 
    } 

回答

2

您需要更改頁面大小後重新綁定數據網格。添加

dgRequests.DataSource = GetMyDataSource(); 
dgRequests.DataBind(); 

在您的方法結束。

+0

哇,真不敢相信我忘了。謝謝!!! – korymiller 2011-05-12 18:53:38

+0

@korymiller不要擔心,它會發生!希望這能解決你的問題。 – YetAnotherUser 2011-05-12 19:00:03

+0

我也必須重申聲明數據源,但是它確實解決了問題! – korymiller 2011-05-12 19:03:31

0

嘗試使用OnRowCommand事件

例如:

<asp:GridView ID="GridView1" runat="server" OnPageIndexChanging="NewxPage" OnRowCommand="GridViewUpdate" /> 

protected void GridViewUpdate(object sender, GridViewCommandEventArgs e) 
    { 


    }