2009-08-13 6 views
2

J'ai ajouté un RadControl, RadGrid et j'ai besoin d'ajouter un radComboBox en mode édition.Ajouter RadComboBox à RadGrid Modifier

Lorsque l'utilisateur clique sur le radComboBox, j'ai besoin de récupérer à la fois le "texte" et la "valeur" du radComboBox pour enregistrer dans la table lorsque l'utilisateur met à jour les valeurs.

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

Lorsque l'utilisateur sélectionne l'radComboBox, je dois obtenir la valeur de DataTextField & DataValueField dans un HiddenField.

Répondre

1

L'approche décrite par Program.X est très bonne. Ceci, bien sûr, fonctionne si vous utilisez un RadCombobox à l'intérieur d'un GridTemplateColumn dans RadGrid. RadGrid fournit également un GridDropDownColumn intégré qui peut automatiquement afficher un RadCombobox lors des modifications. Si vous choisissez d'utiliser le type de colonne intégré, vous devez définir par programme les gestionnaires d'événements côté client pour le rendu RadGrid, comme ceci:

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"; 
    } 
} 

Où « OnSelectedIndexChanged » est le nom d'un côté client Fonction JavaScript sur votre page conçue pour gérer l'événement RadCombobox.

L'une ou l'autre de ces approches devrait vous permettre d'atteindre votre objectif.

1

Telerik sont les meilleures personnes pour vous aider, mais à partir de leur site (et de la mémoire):

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

Si vous avez votre radCombo:

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

Avec votre JS Événement:

<script language="javascript" type="text/javascript"> 
function OnClientSelectedIndexChanged(sender, eventArgs) 
{ 
var item = eventArgs.get_item(); 

// get the text and value elements 
var text=item.get_text(); 
var val=item.get_value(); 

$('#hiddenField').val(val); 
} 
</script> 

où hiddenField est l'ID de la f ield

+0

Merci pour la réponse, je vais le tester. – Kush

Questions connexes