Установить выбранное значение или текст для DropDownList в режиме редактирования gridview asp.net

В виде сетки для отображения данных в режиме просмотра я использую метку.

В режиме редактирования у меня есть выпадающий список. Итак, как я могу установить текст в этой метке как выбранное значение для выпадающего списка, когда gridview находится в режиме редактирования?

Вот мой код на странице aspx:

<Columns>             
<asp:BoundField DataField="id" HeaderText="ID" ReadOnly="true" />
<asp:TemplateField HeaderText="Zone Name">
<HeaderStyle Width="220px"></HeaderStyle>
<ItemTemplate>
<asp:Label ID="lbDisplayName" runat="server" Text='<%# Eval("Name") %>'></asp:Label>
</ItemTemplate>

<EditItemTemplate>
<asp:DropDownList ID="ddlName" runat="server" CssClass="customddlZoneName">
<asp:ListItem Value="">--Select Zone Name--</asp:ListItem>
<asp:ListItem Value="Value1">Text 1</asp:ListItem>
<asp:ListItem Value="Value2">Text 2</asp:ListItem>
<asp:ListItem Value="Value3">Text 3</asp:ListItem>
<asp:ListItem Value="Value4">Text 4</asp:ListItem>
<asp:ListItem Value="Value5">Text 5</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
<FooterTemplate>
<asp:DropDownList ID="ddlInsertName" runat="server">
<asp:ListItem Value="">--Select Zone Name--</asp:ListItem>
<asp:ListItem Value="Value 1">Text 1</asp:ListItem>
<asp:ListItem Value="Value 2">Text 2</asp:ListItem>
<asp:ListItem Value="Value 3">Text 3</asp:ListItem>
<asp:ListItem Value="Value 4">Text 4</asp:ListItem>
<asp:ListItem Value="Value 5">Text 5</asp:ListItem>
</asp:DropDownList>
</FooterTemplate>
</asp:TemplateField>

1 ответ

Я имею в виду, что когда я перевожу свой вид сетки в режим редактирования, я не хочу, чтобы в раскрывающемся списке отображалось "--Выбрать имя зоны--". Я хочу, чтобы он отображал "текст 1",2,3 или 4..., который отображается в моем ярлыке в режиме просмотра. И вы можете сделать это в событии Gridview_RowEditing. Смотрите код ниже:

protected void Gridview_RowEditing(object sender, GridViewEditEventArgs e)
{
    Label lbDisplayName = (Label)Gridview.Rows[e.NewEditIndex].FindControl("lbDisplayName");
    string name = lbDisplayName.Text;

    GridViewRow gvr = Gridview.Rows[e.NewEditIndex];
    var dr = (DropDownList)gvr.FindControl("ddlName");
    dr.SelectedItem.Text = name;
}
Другие вопросы по тегам