asp.net dropdownlist静态列表项目

时间:2012-09-09 01:16:14

标签: asp.net

我正在使用c#在asp.net网站上工作。 我有一个包含来自sql数据库的数据的下拉列表。下拉列表位于gridview上。

下拉列表位于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>

但这些价值观并未显示出来。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

在您的下拉列表中调用dataBind()后,我会在后面的代码中插入静态列表项。

答案 1 :(得分:1)

您可以使用AppendDataBoundItems属性告诉ASP.NET DataSource应该附加到&#34; static&#34;项目(S)。

 <asp:DropDownList id="gridMonedaEdit" AppendDataBoundItems="True"    runat="server">