私は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>
ただし、これらの値は表示されません。
どうすればこれを解決できますか?