4

我正在使用最新的 2009 RadCombobox Ajax 控件,并且正在使用内置功能从 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>

谢谢

4

2 回答 2

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>
于 2009-05-20T18:46:49.140 回答
3

除了马格努斯的回答,将项目添加到您会做的顶部

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

客户端文档在这里:

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

于 2010-07-20T15:13:25.253 回答