3

私はc#でasp.netウェブサイトに取り組んでいます。SQLデータベースのデータを含むドロップダウンリストがあります。ドロップダウンリストはグリッドビューにあります。

ドロップダウンリストは、edititemtemplateのtemplatefield内にあります。

データはドロップダウンリストにロードされ、リンクボタンが押されると、ドロップダウンリストは編集可能になり、対応する値.............だけでなく、データベースがそこにロードされます(この最後のものは私が望まないものです)。

ドロップダウンリストは、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>

ただし、これらの値は表示されません。

どうすればこれを解決できますか?

4

2 に答える 2

1

AppendDataBoundItems プロパティを使用して、DataSource を「静的」項目に追加する必要があることを ASP.NET に伝えることができます。

 <asp:DropDownList id="gridMonedaEdit" AppendDataBoundItems="True"    runat="server">
于 2016-07-20T09:41:09.670 に答える