Frage

Ich habe ein Radcontrol hinzugefügt, Radgrid und ich muss im Bearbeitungsmodus ein Radcombobox hinzufügen.

Wenn der Benutzer auf das RadcomBobox klickt, muss ich sowohl "Text" als auch "Wert" des Radcombobox erhalten, um die Tabelle zu speichern, wenn Benutzer die Werte aktualisiert.

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

Wenn der Benutzer aus dem RadcomBobox auswählt, muss ich den Wert von DataTextField & Datavaluefield in ein verstecktesField erhalten.

War es hilfreich?

Lösung

Der von Program.x beschriebene Ansatz ist sehr gut. Dies funktioniert natürlich, wenn Sie ein Radcombobox innerhalb eines GridTemPlateColumn in Radgrid verwenden.

Radgrid bietet auch ein integriert GridDropDownColumn Dies kann automatisch ein Radcombobox während der Änderungen wiedergeben. Wenn Sie den integrierten Spaltentyp verwenden, müssen Sie die Client-Side-Event-Handler programmgesteuert für das gerenderte Radgrid wie folgt festlegen:

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

Wobei "OnelectedIndeDexchanged" der Name einer clientseitigen JavaScript-Funktion auf Ihrer Seite ist, die für das Radcombobox-Ereignis entwickelt wurde.

Beide dieser Ansätze sollten es Ihnen ermöglichen, Ihr Ziel zu erreichen.

Andere Tipps

Telerik sind die besten Leute, die Ihnen dabei helfen, aber von ihrer Website (und aus dem Gedächtnis):

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

Wenn Sie Ihr Radcombo haben:

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

Mit Ihrem JS -Event:

<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>

Wo Hiddenfield die ID des versteckten Feldes ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top