我正在使用 c# 在一个 asp.net 网站上工作。我有一个包含来自 sql 数据库的数据的下拉列表。下拉列表位于网格视图上。
下拉列表位于edititemtemplate 上的模板字段内。
数据被加载到下拉列表中,一旦按下链接按钮,下拉列表就可以进行编辑,并带有相应的值,......以及来自列中的所有其他值数据库在那里加载(这最后一件事是我不想要的)。
下拉列表绑定在 GridView1_RowDataBound 事件上:
Control ctrlgridMonedaEdit = e.Row.FindControl("gridMonedaEdit");
if (ctrlgridMonedaEdit != null)
{
DropDownList dd = ctrlgridMonedaEdit as DropDownList;
//more code here
dd.DataSource = dt;
dd.DataValueField = "Moneda";
dd.DataTextField = "Moneda";
dd.DataBind();
DataRowView rowView = (DataRowView)e.Row.DataItem;
string tempDate = rowView["Moneda"].ToString();
dd.SelectedIndex = dd.Items.IndexOf(dd.Items.FindByText(tempDate));
sqlConn.Close();
}
我想要的是启用下拉列表进行编辑时必须加载的 3 个值。并且相应的值保持选中状态。我试过这个:
<EditItemTemplate>
<asp:DropDownList Width="90" runat="server" id="gridMonedaEdit" AutoPostBack="true" Enabled ="true" >
<asp:ListItem Value="MONEDA"> MONEDA </asp:ListItem>
<asp:ListItem Value="USD"> USD </asp:ListItem>
<asp:ListItem Value="MONEDA/USD"> MONEDA/USD </asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
但是这些值没有显示出来。
我该如何解决这个问题?