2011-10-07 10 views
0

私はRadGridコントロールを持っており、そのための編集フォームを定義しています。私は正常に動作これを下回るようにデータをバインドするために、テキストボックスを追加した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

あなたが最初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(); 
     } 
    } 
} 
+0

ありがとうございます。値がドロップダウンリストにバインドされているときに、JavaScript関数を呼び出す方法を知っていますか?バインドされた値に基づいて、javascriptを使用して他の要素を表示または非表示にしたいと考えています。 –

+0

@William:'RadGrid1_ItemDataBound 'イベントでは、'e.Item'の値を大文字と小文字に変換し、定義したいくつかのjavasript関数を呼び出すことができます。 javascript関数を登録するには、 'ScpriptManager'または'RadScpriptManager 'を使用します。これは簡単なことではないので、別の質問として質問を投稿するか、telerikフォーラムで質問してください。ここに役立つリンクがあります:http://www.telerik.com/community/forums/aspnet-ajax/grid/hide-show-gridcheckboxcolumn-in-itemdatabound.aspx – Mentoliptus

関連する問題