2012-03-29 47 views
0

有一個簡單的表單有6個下拉列表和一個gridview。當任何下拉列表更改該值時,通過更改select命令來過濾網格。用戶可以通過網格的一行導航到另一個頁面。如何將查詢字符串中的值傳遞給下拉列表和刷新網格if!ispostback

從另一頁面,用戶有一個後退按鈕,用於加載頁面的查詢字符串,該查詢字符串具有下拉列表的值。

我要完成兩兩件事:

1),使這些值在dropdownlists。這我很容易做到。

2)接下來是讓網格根據這個值顯示數據。這是它的正常操作。

我認爲,如果我在頁面加載下面的代碼會做的伎倆,但它沒有。我嘗試了所有的事件,但沒有luck.I可以得到dropdownlists持有我想要的值,但網格顯示所有記錄:

if (!IsPostBack) 
    { 
     if (Request.QueryString["ret"] != null) 
     { 
      string[] retvalues = Request.QueryString["ret"].Split('_'); 
      Update_Search(retvalues); 
      dsTodo.SelectCommand = dsTodo.SelectCommand + Build_Where(); 
      GridView1.DataBind(); 
     } 

    } 

在上dropdownlists的selectedvaluechange evnets存在的最後兩行,他們做工精細在正常操作中過濾網格。

回答

0

您正在設置SelectCommand但您並未執行此操作。這樣做:

dsTodo.SelectCommand = dsTodo.SelectCommand + Build_Where(); 
dsTodo.Select(DataSourceSelectArguments.Empty); 
GridView1.DataBind(); 

這是假設GridView1DataSourceID屬性設置爲dsTodo

+0

沒有什麼改變....我發現我的問題可能會在另一個區域休息......雖然我得到了一個數組中的querystring值,但似乎我在設置下拉列表時遇到了問題....我我正在使用srProject.Items.FindByValue(retvalues [0] .ToString())。Selected = true;現在填補dropdownlist,但我不能看到他們選擇,並沒有通過selectcommand ....感謝無論如何,我想我可能研究更多,並打開另一個問題:( – e4rthdog 2012-03-29 17:56:50

+0

@ e4rthdog無論問題是什麼,它是不夠的設置'SelectCommand'到'SqlDataSource',你需要通過調用'Select'方法來執行它,然後綁定'GridView'。祝你好運。 – Icarus 2012-03-29 18:21:52

相關問題