DropDownList を持つ Grid があり、静的データがあります。完璧に保存されています。しかし、編集中にSelectedValue
、DataBase から DropDown を取得する必要があります。
私のコードは次のとおりです。
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Order">
<ItemTemplate>
<asp:DropDownList ID="ddlOrder" SelectedValue='<%# (DataBinder.Eval(Container.DataItem,"Order")) %>' runat="server" Width="60">
<asp:ListItem Text="1" Value="1"></asp:ListItem>
<asp:ListItem Text="2" Value="2"></asp:ListItem>
<asp:ListItem Text="3" Value="3"></asp:ListItem>
<asp:ListItem Text="4" Value="4"></asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
と:
protected void gvServicePort_RowDataBound(object sender , GridViewRowEventArgs e)
{
//DropDown
if (e.Row.RowType == DataControlRowType.DataRow)
{
var dropdownList = (DropDownList)e.Row.FindControl("ddlOrder");
for (int i = 1; i < 15; i++)
{
dropdownList.Items.Add(i.ToString());
}
dropdownList.SelectedValue =
Convert.ToString(DataBinder.Eval(e.Row.DataItem, "Order"));
}
}
「ddlOrder」がアイテムのリストに存在しないため無効な SelectedValue を持っていると言うのはスローとエラーです。
誰でも助けることができますか?