DropDownList在GridView中选择到一个GridView BoundField
问题描述:
在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>
有基于“隐藏”字段中的数字中选择合适的指数。
也许有任何想法?
答
您可以订阅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;
}
}
- 帕维
是在下拉列表的ASP DROPDOWNLIST或者是它只是一个普通的HTML选择静态选择列表? – patmortech 2011-01-07 05:03:41
对不起 –
2011-01-07 16:56:44