2011-01-07 97 views
0

在ASP.NET 4中,我有一個GridView,其中包含一個DropDownList的部分。 DropDownList填充了我需要的第二個數據源的所有選項。不過,我希望每個行中的每個DropDownList都有一個不同的SelectedIndex,默認情況下基於GridView中的數據。DropDownList在GridView中選擇到一個GridView BoundField

例如,這裏是樣本數據

| id |  Status | hidden | First Name | 
-------------------------------------------------- 
| 12 | <dropdown> |  3 | john doe | 
| 13 | <dropdown> |  7 | jane ble | 

所以你會注意,第三列是隱藏的,這意味着我有它設置爲:

<asp:BoundField DataField="StatusName" HeaderText="Status" Visible="false" /> 

然而,在本專欄編輯的行包含我需要DropDownList默認顯示的值()。

換句話說,我需要

<option select="selected">something</option> 

有基於「隱藏」字段中的數字中選擇合適的指數。

也許有任何想法?

+0

是在下拉列表的ASP DROPDOWNLIST或者是它只是一個普通的HTML選擇靜態選擇列表? – patmortech 2011-01-07 05:03:41

+0

對不起 2011-01-07 16:56:44

回答

2

您可以訂閱RowDataBound事件,以便選擇在下拉列表中正確的價值:

protected void myGrid_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    DropDownList lst = null; 
    string hiddenStatus = string.Empty; 

    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     hiddenStatus = e.Row.Cells[2].Text; 
     lst = (DropDownList)e.Row.FindControl("dropDownIdentifier"); 

     lst.SelectedValue = hiddenStatus; 
    } 
} 

- 帕維

相關問題