2009-08-13 16 views
2

Ich habe ein RadControl, RadGrid und ich müssen eine radComboBox im Bearbeitungsmodus hinzufügen.RadComboBox zu RadGrid hinzufügen Bearbeiten

Wenn Benutzer auf die radComboBox klickt, muss ich sowohl "Text" als auch "Wert" der radComboBox in Tabelle speichern, wenn Benutzer Werte aktualisiert.

<telerik:RadComboBox ID="RadComboBox1" Runat="server" 
      DataSourceID="SqlDataSource1" DataTextField="docCategoryName" 
      DataValueField="docCategoryID" Height="200px" Skin="Vista"> 

Wenn Benutzer aus der radComboBox wählt, muss ich den Wert der Datatextfield & Datavaluefield in einen Hidden bekommen.

Antwort

1

Der von Program.X beschriebene Ansatz ist sehr gut. Dies funktioniert natürlich, wenn Sie eine RadCombobox innerhalb einer GridTemplateColumn in RadGrid verwenden.

RadGrid bietet auch eine integrierte GridDropDownColumn, die eine RadCombobox während der Bearbeitung automatisch rendern kann. Wenn Sie die integrierte Spalte Typ verwenden möchten, müssen Sie programmatisch die clientseitige Event-Handler für das gerenderte RadGrid gesetzt, wie folgt aus:

protected void RadGrid1_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e) 
{ 
    //Find GridEditableItems when in Edit mode 
    if (e.Item is GridEditableItem && e.Item.IsInEditMode) 
    { 
     //Get reference to item (i.e. Row) 
     var item = e.Item as GridEditableItem; 

     //Get reference to auto-generated RadCombobox in 
     //specific column (in this case, a column called Title) 
     var rcb = item["Title"].Controls[0] as RadComboBox; 
     if (rcb == null) 
      return; 

     //Customize the RadCombobox properities 
     rcb.OnClientSelectedIndexChanged = "onselectedindexchanged"; 
    } 
} 

Wo „OnSelectedIndexChanged“ ist der Name eines Client-Seite JavaScript-Funktion auf Ihrer Seite, um das RadCombobox-Ereignis zu behandeln.

Jeder dieser Ansätze sollte es Ihnen ermöglichen, Ihr Ziel zu erreichen.

1

Telerik sind die besten Menschen, die Sie mit diesem helfen, aber von ihrer Website (und aus dem Gedächtnis):

http://www.telerik.com/help/aspnet-ajax/combo_clientsideonclientselectedindexchanged.html

Wenn Sie Ihr radCombo:

<telerik:RadComboBox 
ID="RadComboBox1" 
runat="server" 
OnClientSelectedIndexChanged="OnClientSelectedIndexChanged"> 
</telerik:RadComboBox> 

Mit Ihrem JS Ereignis:

Wo versteckteField ist die ID der versteckten f Feld.

+0

Vielen Dank für die Antwort, ich werde das testen. – Kush