Articles in this section
Category / Section

How to render custom context menu in TreeGrid

1 min read

It is possible to include a custom menu item in TreeGrid context menu by using “ContextMenuOpen” client side event. And this event will be triggered only on enabling the context menu using “ContextMenuSettings.ShowContextMenu” property.

The below properties are used to include a custom menu item,

headerText - Text to be displayed for the custom menu item

menuId - Provides ID field for the created DOM element for custom menu item

iconPath - Image location for menu item

eventHandler - Client side event for menu item click

iconClass - CSS class for menu item’s icon

parentMenuId - Parent menu ID for displaying the custom menu item as sub item

disable - To enable/disable the custom menu item

 

The below code example explains about how to include custom menu item in TreeGrid.

[aspx]
<ej:TreeGrid runat="server" ID="Container" ContextMenuOpen="contextMenuOpen">
//…
                <ContextMenuSettings ShowContextMenu="true"
                    ContextMenuItems="add,edit,delete" />
            </ej:TreeGrid>
<script type="text/javascript">
 function contextMenuOpen(args) {
            var isExpandable = false, data;
            data = args.item;
            if (data && data.hasChildRecords && !data.expanded) {
                isExpandable = true;
            }
            if (data) {
                var contextMenuItems = [{
                    headerText: "Expand",
                    menuId: "Expand",
                    eventHandler: customMenuExpandCollapseHandler,
                    iconClass: "e-expandIcon",
                    disable: !isExpandable
                }];
                args.contextMenuItems.push.apply(args.contextMenuItems, contextMenuItems);
            }
//…
        }
 function customMenuExpandCollapseHandler(args) {
            var currentMenuId = args.menuId, expandCollapseArgs = {};
            expandCollapseArgs.data = args.data;
            if (currentMenuId === "Expand")
                expandCollapseArgs.expanded = true;
            ej.TreeGrid.sendExpandCollapseRequest(this, expandCollapseArgs);
        }        
</script>

 

The below screenshots shows the output of above code snippets.

C:\Users\Jonesherine.Stephen\Desktop\Capture.PNG

 

Sample link

Please find our online demo sample for further reference

Sample

 

 

 

 

 

 

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied