在ASP.NET 4中,我有一个GridView,它在该部分中包含一个DropDownList。 DropDownList填充了我需要的第二个数据源的所有选项。但是,我希望每行中的每个DropDownList都基于GridView中已有的数据默认设置不同的SelectedIndex。
例如,这是样本数据
| id | Status | hidden | First Name |
--------------------------------------------------
| 12 | <dropdown> | 3 | john doe |
| 13 | <dropdown> | 7 | jane ble |
所以你会注意到第3列是隐藏的,这意味着我把它设置为:
<asp:BoundField DataField="StatusName" HeaderText="Status" Visible="false" />
但是,此列中已编辑的行包含我需要DropDownList默认显示的值()。
换句话说,我需要
<option select="selected">something</option>
根据“隐藏”字段中的数字选择正确的索引。
也许有任何想法?
答案 0 :(得分: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;
}
}
- 帕维尔