如何将所选值带到DropDownList的顶部?
可能重复:
How to save in the dropdown the value choosed?如何将所选值带到DropDownList的顶部?
我有一个GridView
和带DropDownList
而不是TextBox
列。下拉有2个值(1.No,2.Yes)。
问题是,我只能选择值“是”。后面的代码适用于“是”,我也添加了价值编号
另一件事是如果我选择一个值(例如“是”),我怎样才能将它带到DropDownList
的顶部,因为它总是显示默认值(值“No”)。
HTML
<!--Add other attributes as you need to the grid view-->
<!--NOTE: **OnRowDataBound="GridView_RowDataBound"** -->
<asp:GridView ID="GridView1" runat="server"
OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="Dropdown Column">
<ItemTemplate>
<asp:DropDownList ID="ddlYesNo" runat="server">
<asp:ListItem Value="1" Text="No"></asp:ListItem>
<asp:ListItem Value="2" Text="Yes"></asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<!-- OTHER COLUMNS -->
</Columns>
<!-- REST OF THE STUFF -->
后面的代码
protected void GridView1_RowDataBound(Object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DropDownList ddl = (DropDownList)e.Row.FindControl("ddlYesNo");
ddl.SelectedValue =
((System.Data.DataRowView)e.Row.DataItem) ["dataColName"].ToString();
}
}
这是什么? ddl.SelectedValue = ((System.Data.DataRowView)e.Row.DataItem)[“dataColName”]。ToString(); 检查所选值是否为“dataColName”我需要用dataColName替换? – 2012-03-18 16:03:31
这是更新数据库时保存ddl.SelectedValue的列的名称。如果您需要选择更新的值,则需要将该值分配回下拉列表控件。这就是它所做的。合理? – Kaf 2012-03-18 17:15:12
好吧,更新时,我希望选择的值在单元格中可见 – 2012-03-18 17:22:39
使用的selectedIndex = 1,以显示值是。 – Sas 2012-03-18 15:13:10
我试过了,没有工作 – 2012-03-18 16:13:15
是的,现在它工作了,我该如何保存价值?如果我选择更新的内容,我希望下拉列表的值为 – 2012-03-18 16:23:27