Domanda

Ho aggiunto un RadControl, RadGrid e ho bisogno di aggiungere un radComboBox in modalità di modifica.

Quando l'utente fa clic sul radComboBox, ho bisogno di ottenere sia "testo" e "valore" della radComboBox per salvare la tabella quando aggiorna i valori degli utenti.

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

             

Quando l'utente seleziona dal radComboBox, ho bisogno di ottenere il valore di DataTextField & DataValueField in un HiddenField.

È stato utile?

Soluzione

L'approccio descritto da Program.X è molto buona. Questo, naturalmente, funziona se si sta utilizzando un RadCombobox all'interno di un GridTemplateColumn in RadGrid.

RadGrid fornisce anche un built-in GridDropDownColumn che può rendere automaticamente un RadCombobox durante modifiche. Se si sceglie di utilizzare il tipo di colonna built-in, è necessario impostare a livello di codice i gestori di eventi lato client per la RadGrid reso, in questo modo:

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

Dove "OnSelectedIndexChanged" è il nome di un JavaScript lato client funzione sulla tua pagina progettato per gestire l'evento RadCombobox.

Uno di questi approcci dovrebbe consentire di raggiungere il tuo obiettivo.

Altri suggerimenti

Telerik sono le persone migliori per aiutarvi con questo, ma dal loro sito (e dalla memoria):

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

Se avete il vostro radCombo:

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

Con il vostro evento 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>

Dove HiddenField è l'ID del campo nascosto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top