This is a migrated thread and some comments may be shown as answers.

RadTreeView Multiple ContextMenu Get Active Menu Clicked Client Side

2 Answers 145 Views
TreeView
This is a migrated thread and some comments may be shown as answers.
Scott
Top achievements
Rank 1
Scott asked on 08 Oct 2009, 05:11 PM
I have 3 context menus loaded into my RadTreeView. I associate different menus with my nodes depending on node level. I'm using the OnClientContextMenuItemClicking event to prompt for Delete confirmation when user clicks a delete context menu command.  In my Client-side event handler, I want to determine which context menu was clicked so that I can hide just that menu.  I've found one way, but it seems cumbersome and subject to change if Telerik changes ID naming conventions.  Is there a better way to find the context menu that was clicked?  Here is what I have working right now:

<script type="text/javascript">
   function contextMenuItemClicking(sender, eventArgs) {
       var item = eventArgs.get_menuItem();
       if (item.get_text() == "Delete") {
           if (!confirm("Confirm delete")) {
               eventArgs.set_cancel(true);
               for (var i = 0; i < sender.get_contextMenus().length; i++) {
                   if (sender.get_contextMenus()[i]._clientStateFieldID ==
                       eventArgs.get_node()._resolvedContextMenuID + "_ClientState") {
                       sender.get_contextMenus()[i].hide();
                       break;
                   }
               }
           }
       } 
   }

(...)

            <telerik:RadTreeView ID="radTreeMainView" Runat="server" 
                Height="420px" 
                Skin="Web20" 
                OnClientContextMenuItemClicking="contextMenuItemClicking" 
                oncontextmenuitemclick="radTreeMainView_ContextMenuItemClick"
                >
            </telerik:RadTreeView>

2 Answers, 1 is accepted

Sort by
0
Accepted
Veselin Vasilev
Telerik team
answered on 12 Oct 2009, 08:57 AM
Hi Kevin Broughton,

You can find the menu by using the following code:

var menu = item.get_menu();
var id = menu.get_id();


Let me know if this helps.

Regards,
Veselin Vasilev
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
0
Scott
Top achievements
Rank 1
answered on 12 Oct 2009, 01:43 PM

Well, that was easy!  Yes, exactly what I was looking for.  Now I can simply do,
 

 

(...)  
eventArgs.set_cancel(true);  
item.get_menu().hide(); 

Thank you.

 

 

 

Tags
TreeView
Asked by
Scott
Top achievements
Rank 1
Answers by
Veselin Vasilev
Telerik team
Scott
Top achievements
Rank 1
Share this question
or