Error when removing an item in a dropdown menu

2 posts, 0 answers
  1. Eduardo
    Eduardo avatar
    30 posts
    Member since:
    Feb 2009

    Posted 22 Jun 2009 Link to this post

    HI,

    I guess I'm having a similar issue as I had in the RadMenu, but this time in the toolbar. Here is the original post Recreate menu on click.

    What I'm doing is adding and removing items dynamically from the client side to a dropdown menu. The code is very similar as the one in the other thread, but I don't clear all the items, I only remove the one I want when the user clicks on another item in the same dropdown menu.

    This happens only when I click the item that will be removed. In the following example, try to click the second item in the dropdown.

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="toolbarThinLastButton.aspx.cs" Inherits="toolbarThinLastButton" %> 
    <%@ Register TagPrefix="telerik" Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" %> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
     
    <html xmlns="http://www.w3.org/1999/xhtml" > 
    <head runat="server"
        <title>Untitled Page</title> 
        <script type="text/javascript"
            var number = 0
            function Clicked() { 
                var taskbar = $find("RadToolBar1"); 
                //var dd = taskbar.findItemByText("xxx"); 
                var dd = taskbar.findItemByAttribute("key", "this"); 
     
                taskbar.trackChanges(); 
     
                var dropDownChildButton = new Telerik.Web.UI.RadToolBarButton(); 
                dropDownChildButton.set_text("a button " + number); 
                number++; 
     
                if (dd.get_buttons().get_count() > 1) { 
                    // Remove last 
                    dd.get_buttons().removeAt(1); 
                } 
                 
                // Tooltip 
                dd.get_buttons().add(dropDownChildButton); 
     
                taskbar.commitChanges(); 
            } 
        </script> 
    </head> 
    <body> 
        <form id="form1" runat="server"
            <asp:ScriptManager ID="scriptManager1" runat="server" /> 
        <div> 
            <telerik:RadToolBar ID="RadToolBar1" runat="server" Skin="Office2007" OnClientButtonClicked="Clicked"
                <Items> 
                    <telerik:RadToolBarButton Text="button 1" /> 
                    <telerik:RadToolBarButton Text="button 2" /> 
                    <telerik:RadToolBarButton Text="button 3" /> 
                    <telerik:RadToolBarDropDown Text="xxx" key="this"
                        <Buttons> 
                            <telerik:RadToolBarButton Text="add or remove buttons" ToolTip="click me"
                            </telerik:RadToolBarButton> 
                            <telerik:RadToolBarButton Text="bla" ToolTip="click me"
                            </telerik:RadToolBarButton> 
                            <telerik:RadToolBarButton Text="bla" ToolTip="click me"
                            </telerik:RadToolBarButton> 
                            <telerik:RadToolBarButton Text="bla" ToolTip="click me"
                            </telerik:RadToolBarButton> 
                            <telerik:RadToolBarButton Text="bla" ToolTip="click me"
                            </telerik:RadToolBarButton> 
                        </Buttons> 
                    </telerik:RadToolBarDropDown> 
                </Items> 
            </telerik:RadToolBar> 
        </div> 
        </form> 
    </body> 
    </html> 
     

    Is there something I can do? In the dropdown menu there is no close() method, so I can't do the same as in the menu.

    Thanks,
    Eduardo



  2. Yana
    Admin
    Yana avatar
    4554 posts

    Posted 25 Jun 2009 Link to this post

    Hi Eduardo,

    Please modify Clicked() method like this:

     function Clicked() {    
                var taskbar = $find("RadToolBar1");    
                //var dd = taskbar.findItemByText("xxx");    
                var dd = taskbar.findItemByAttribute("key""this");    
        
                taskbar.trackChanges();    
        
                var dropDownChildButton = new Telerik.Web.UI.RadToolBarButton();    
                dropDownChildButton.set_text("a button " + number);    
                number++;    
        
                if (dd.get_buttons().get_count() > 1) {    
                    // Remove last    
                    setTimeout( function() {dd.get_buttons().removeAt(1); }, 1);   
                }    
                    
                // Tooltip    
                dd.get_buttons().add(dropDownChildButton);    
        
                taskbar.commitChanges();    
            }   


    Best regards,
    Yana
    the Telerik team

    Instantly find answers to your questions on the new Telerik Support Portal.
    Check out the tips for optimizing your support resource searches.
  3. UI for ASP.NET Ajax is Ready for VS 2017
Back to Top