使用RadGrid控件时如何将数据成员绑定到Drop DownList?

时间:2011-10-07 10:05:26

标签: c# asp.net data-binding binding telerik

我有一个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 个答案:

答案 0 :(得分:1)

您必须首先覆盖RadGrid的ItemCreated事件。然后检查事件的项目是否可编辑和编辑模式。然后您可以将数据绑定到它。这是一个代码示例:

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();
      }
   }
}