从Web服务填充Telerik Ajax RadComboBox后添加项目

4
我正在使用最新的2009 RadCombobox Ajax控件,并使用内置功能从webservice填充它。
我还想添加一个项目到下拉框中,以便用户可以选择不选择任何内容。 从本质上讲,使控件可选。现在,如果他们选择了某些内容,然后改变主意,他们不能将其改回为空。
每次我尝试添加内容时,都会出现问题或完全清除从webservice填充的内容。 我不希望webservice返回空项,只是为了使控件工作。
<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>

Thanks


你是如何填充下拉框的?使用数据绑定还是手动填充? - Magnus Johansson
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>

@Neil,通过钩入OnClientItemsRequesting事件并在该处理程序中添加项目应该是可能的。 - Magnus Johansson

3

1
现在它在这里:http://www.telerik.com/help/aspnet-ajax/combobox-client-side-radcomboboxitemcollection.html 看起来有些链接已经变了。 - rdmptn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接