Pergunta

Eu adicionei um RadControl, RadGrid e preciso adicionar um Radcombobox no modo de edição.

Quando o usuário clica no Radcombobox, preciso obter "texto" e "valor" do RadCombobox para salvar na tabela quando o usuário atualizar valores.

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

Quando o usuário seleciona no RadCombobox, preciso obter o valor do Datatextfield & DataValueField em um campo oculto.

Foi útil?

Solução

A abordagem descrita pelo Program.x é muito boa. Isso, é claro, funciona se você estiver usando um Radcombobox dentro de um gridtemplatecolumn no radGrid.

RadGrid também fornece um embutido GridDropDownColumn Isso pode renderizar automaticamente um Radcombobox durante as edições. Se você optar por usar o tipo de coluna embutido, precisará definir programaticamente os manipuladores de eventos do lado do cliente para o RadGrid renderizado, assim:

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

Onde "OnSelectedIndexChanged" é o nome de uma função JavaScript do lado do cliente na sua página projetada para lidar com o evento Radcombobox.

Qualquer uma dessas abordagens deve permitir que você atinja seu objetivo.

Outras dicas

Telerik são as melhores pessoas para ajudá -lo com isso, mas no site deles (e da memória):

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

Se você tiver seu Radcombbo:

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

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

Onde Hiddenfield é o ID do campo oculto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top