Hello,
I'm trying to add custom menu item to the header cells context menu but i have weird display when i am using derived class instead of RadMenuItem class directly (see attached image).
Can you explain to me what is wrong with my code ?
public class CustomOpMenuItem : RadMenuItem{ private MyForm _form; private int _columnIndex; private CustomOp _op; public CustomOpMenuItem (MyForm form, int columnIndex, CustomOp op) { _op = op; switch(_op) { case CustomOp.CUSTOM1: this.Text = "Custom 1"; break; case CustomOp.CUSTOM2: this.Text = "Custom 2"; break; case CustomOp.CUSTOM3: this.Text = "Custom 3"; break; } _columnIndex = columnIndex; _form = form; this.Click += onClick; } private void onClick(object sender, EventArgs e) { _form.DoCustomOp(_columnIndex,_op); }}private void onContextMenuOpening(object sender, VirtualGridContextMenuOpeningEventArgs e){ for (int i = 0; i < e.ContextMenu.Items.Count; i++) { if (e.ContextMenu.Items[i].Text == "Pinned state") { // hide the Delete option from the context menu e.ContextMenu.Items[i].Visibility = Telerik.WinControls.ElementVisibility.Collapsed; if(i != 0) { // hide the separator before the Delete option e.ContextMenu.Items[i - 1].Visibility = Telerik.WinControls.ElementVisibility.Collapsed; } } } if (e.RowIndex == RadVirtualGrid.HeaderRowIndex) { RadMenuSeparatorItem separator = new RadMenuSeparatorItem(); e.ContextMenu.Items.Add(separator); RadMenuItem customMenuItem = new RadMenuItem(); customMenuItem.Text = "Custom Data Operation"; e.ContextMenu.Items.Add(customMenuItem); e.ContextMenu.Items.Add(separator); e.ContextMenu.Items.Add(new CustomOpMenuItem(this, e.ColumnIndex, CustomOp.CUSTOM2)); e.ContextMenu.Items.Add(separator); e.ContextMenu.Items.Add(new CustomOpMenuItem(this, e.ColumnIndex, CustomOp.CUSTOM3)); }}
Regards.
