2009-05-20 9 views
3

J'utilise le dernier contrôle Ajax RadCombobox 2009 et j'utilise la fonctionnalité intégrée pour le remplir à partir d'un service web.Ajouter des articles à Telerik Ajax RadComboBox après le remplissage du webservice

Je voudrais également pousser un élément de plus dans la boîte afin que l'utilisateur ait le choix de ne rien choisir. Essentiellement rendre le contrôle facultatif. À l'heure actuelle, s'ils choisissent quelque chose et changent d'avis, ils ne peuvent plus rien changer du tout.

Chaque fois que j'ai essayé d'ajouter quelque chose, cela ne fonctionne pas ou efface complètement ce qui a été rempli à partir du webservice. Et je ne veux pas que le webservice retourne et vide l'élément juste pour que le contrôle fonctionne.

<telerik:RadComboBox ID="combo" runat="server" 
        Skin="Office2007" 
        AllowCustomText="false" 
        EnableLoadOnDemand="true" 
        AppendDataBoundItems="true" 
        Text="" 
        Width="300" Height="200"> 
        <ExpandAnimation Type="None" /> 
        <CollapseAnimation Type="None" /> 
        <WebServiceSettings Path="~/Service.asmx" Method="GetStuff" /> 

       </telerik:RadComboBox> 

Merci

+0

Comment remplissez-vous la boîte combo? Utiliser la liaison de données ou le remplir manuellement? –

Répondre

5

Est-ce quelque chose comme cela, vous avez eu à l'esprit? Ajouter un objet supplémentaire après le chargement des données.

<script type="text/javascript"> 
    //<![CDATA[ 
    function OnClientItemsRequested(sender, eventArgs) { 
     var combo = $find("<%= RadComboBox1.ClientID %>"); 
     var intextput = "<All Items>"; 
     var comboItem = new Telerik.Web.UI.RadComboBoxItem(); 
     comboItem.set_text(intextput); 
     comboItem.set_value("-1"); 
     combo.trackChanges(); 

     combo.get_items().add(comboItem); 
     comboItem.select(); 
     combo.commitChanges(); 
     comboItem.scrollIntoView(); 
    } 
    //]]> 
    </script> 



<telerik:RadComboBox runat="server" ID="RadComboBox1" 
     EnableLoadOnDemand="true" 
     OnClientItemsRequesting="OnClientItemsRequesting" 
     OnClientItemsRequested="OnClientItemsRequested"> 
     <WebServiceSettings Method="GetMyData" Path="http://localhost:1606/Service1.asmx" /> 
    </telerik:RadComboBox> 
+0

@Neil, cela devrait être possible en s'accrochant à l'événement OnClientItemsRequesting et ajouter l'élément dans ce gestionnaire. –

Questions connexes