Question

J'ai ajouté un RadControl, RadGrid et je dois ajouter un radComboBox dans le mode d'édition.

Lorsque l'utilisateur clique sur le radComboBox, je dois obtenir les deux « texte » et « valeur » de la radComboBox pour sauver à la table lorsque les valeurs des mises à jour de l'utilisateur.

<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 en HiddenField.

Était-ce utile?

La solution

L'approche décrite par Program.X est très bon. Ceci, bien sûr, ne fonctionne que si vous utilisez un RadCombobox à l'intérieur d'un GridTemplateColumn dans RadGrid.

RadGrid fournit également un haut-GridDropDownColumn qui peut rendre automatiquement un RadCombobox pendant les 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 RadGrid rendu, 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'une fonction JavaScript côté client sur votre page conçue pour gérer l'événement RadCombobox.

Chacune de ces approches devrait vous permettre d'atteindre votre objectif.

Autres conseils

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 événement JS:

<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 du champ caché.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top