Получение предварительно выбранного текста в раскрывающемся списке в окне сетки EditItemTemplate

Я не могу получить предварительно выбранный текст в раскрывающемся списке в шаблоне редактирования. Пожалуйста, смотрите мой код:

<EditItemTemplate>
   <asp:DropDownList ID="droplist" runat="server">
   </asp:DropDownList>
</EditItemTemplate>

код C#

protected void gvDetails_RowDataBound(object sender, GridViewRowEventArgs e)
{
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            if ((e.Row.RowState & DataControlRowState.Edit) > 0)
            {
                DropDownList droplist = (DropDownList)e.Row.FindControl("droplist");
                droplist.DataSource = EquipmentBLL.getunitdrop();
                droplist.DataTextField = "UnitName";
                droplist.DataValueField = "UnitID";
                droplist.DataBind();
                droplist.Items.Insert(0, new ListItem(" Select Unit ", "0"));
                //droplist.Items.FindByText(unittypetext).Selected = true;
            }
        }
}

Может кто-нибудь сказать мне, что я должен сделать, чтобы получить предварительно выбранный выпадающий список?

С уважением Хуссейн

1 ответ

Решение

Прямо сейчас вы заполняете DropDownList с вариантами из источника данных. Однако вы не привязываете выбранное значение ни к чему.

Что бы вы ни делали, чтобы связать другие поля в вашем Gridviewсделай это для DropDownListВыбранное значение также.

Не видя остальной части вашего GridView Разметка, я думаю, что-то вроде этого должно работать:

<EditItemTemplate>
   <asp:DropDownList ID="droplist" runat="server" 
        SelectedValue='<%# Bind("UnitID") %>' >
   </asp:DropDownList>
</EditItemTemplate>

Где "UnitID" выше - это имя поля из источника данных вашего GridView, которое вы хотите привязать к SelectedValue DropDownList.

Другие вопросы по тегам