Как привязать элемент данных к Drop DownList при использовании элемента управления RadGrid? - PullRequest
0 голосов
/ 07 октября 2011

У меня есть элемент управления RadGrid, и я определяю для него форму редактирования.

Я добавил текстовое поле для привязки данных, как показано ниже, которое отлично работает:

<asp:TextBox ID="tbAuthenticationMode" runat="server" Text='<%# Bind("AuthenticationMode") %>' CssClass="tbAuthenticationMode">
                                    </asp:TextBox>

Теперь я хотел бы удалить это текстовое поле и заменить его простым выпадающим списком, как показано ниже:

 <asp:DropDownList ID="ddlAuthenticationMode" runat="server">
                                    <asp:ListItem Text="Windows Authentication" Value="Windows"></asp:ListItem>
                                    <asp:ListItem Text="SQL Server Authentication" Value="SqlServer"></asp:ListItem>
                                    </asp:DropDownList>

Я бы хотел, чтобы значение «AuthenticatioMode» было привязано к этому выпадающему списку.

Как это было бы возможно?

Спасибо

1 Ответ

1 голос
/ 07 октября 2011

Вы должны сначала переопределить событие ItemCreated в RadGrid.Затем проверьте, можно ли редактировать элемент события, и введите режим редактирования.Затем вы можете привязать данные к нему.Вот пример кода:

protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
{
   if (e.Item is GridEditableItem && e.Item.IsInEditMode)
   {
      GridEditFormItem geiEditedItem = e.Item as GridEditFormItem;
      geiEditedItem.Visible = true;

      //Edit mode
      if (e.Item.DataItem is YourClass)
      {
         YourClass currentItem = (YourClass)e.Item.DataItem;

         DropDownList ddlAuthenticationMode= geiEditedItem.FindControl("ddlAuthenticationMode") as DropDownList;
         ddlAuthenticationMode.SelectedValue = currentItem.AuthenticatioMode.ToString();
      }
   }
}
...