从webservice填充后,将项目添加到Telerik Ajax RadComboBox

时间:2009-05-20 15:37:47

标签: c# telerik

我正在使用最新的2009 RadCombobox Ajax控件,我正在使用内置功能从Web服务中填充它。

我还想再将一个项目推到框中,以便用户可以选择不选择任何内容。基本上使控件可选。现在,如果他们选择了某些东西然后改变主意,他们就无法将其改回到任何东西。

每次我尝试添加它不起作用或完全清除从Web服务填充的内容。我不希望web服务返回并清空项目只是为了使控制工作。

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

谢谢

2 个答案:

答案 0 :(得分:5)

你有这样的想法吗? 数据加载后添加一个额外的项目。

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

答案 1 :(得分:3)

继Magnus的回答之后,将项目添加到顶部你会做

combo.get_items().insert(0, comboItem);

客户端文档在这里:

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