How to hide specific items from the Bazor TreeGrid context menu?

Answer:

We suggest using the Hidden property value in args.ContextMenuObj to achieve this requirement. Hidden property is used to hide or show the menu item.

<SfTreeGrid DataSource="@TreeData" @ref="TreeGrid" IdMapping="TaskId" ParentIdMapping="ParentId" ContextMenuItems="@(new List() { new ContextMenuItemModel { Text = "Copy with headers", Target = ".e-content", Id = "copywithheader" },new ContextMenuItemModel { Text = "save changes", Target = ".e-content", Id = "savechange" },new ContextMenuItemModel { Text = "print", Target = ".e-content", Id = "print" } })" TreeColumnIndex="1">

<TreeGridEvents ContextMenuOpen="OnContextMenuOpen" ContextMenuItemClicked="OnContextClick" TValue="BusinessObject">TreeGridEvents>

<TreeGridColumns>

<TreeGridColumn Field="TaskId" HeaderText="Task ID" IsPrimaryKey="true" Width="80" TextAlign="Syncfusion.Blazor.Grids.TextAlign.Right">TreeGridColumn>

……

<TreeGridColumn Field="Priority" HeaderText="Priority" Width="80">TreeGridColumn>

TreeGridColumns>

SfTreeGrid>

public void OnContextMenuOpen(ContextMenuOpenEventArgs<BusinessObject> Args)

{

if (Args.RowInfo.RowData.TaskName.StartsWith("Parent Task 2"))

{

Args.ContextMenuObj.Items[0].Hidden = true;

}

else

{

Args.ContextMenuObj.Items[0].Hidden = false;

}

}


Find the sample to hide TreeGrid context menu particular items from here.

Loader.
Up arrow icon