How to get a context menu to work on the detail view of master-detail

Hi,
i just want to know how to get a context menu to show up if a record is selected on a detail view.
No problem to get this on the master.

Heres the code for the maste-detail view:

SfDataGrid1.AutoGenerateColumns = False
SfDataGrid1.DataSource = GetDataTable()
SfDataGrid1.Columns.Add(New GridTextColumn() With {.MappingName = "Projektnummer", .HeaderText = "PrjNr", .Width = 70})
SfDataGrid1.Columns.Add(New GridTextColumn() With {.MappingName = "Kunde", .HeaderText = "Kunde", .Width = 135, .AllowFiltering = True})
SfDataGrid1.Columns.Add(New GridTextColumn() With {.MappingName = "Projektbezeichnung", .HeaderText = "Projektbezeichnung", .Width = 215})
SfDataGrid1.Columns.Add(New GridTextColumn() With {.MappingName = "Projektstatus", .HeaderText = "Projektstatus", .Width = 130, .AllowFiltering = True})
SfDataGrid1.Columns("Projektstatus").FilterPredicates.Add(New FilterPredicate() With {.FilterType = FilterType.NotEquals, .FilterValue = "Abgeschlossen", .PredicateType = PredicateType.AndAlso}) SfDataGrid1.Columns("Projektstatus").FilterPredicates.Add(New FilterPredicate() With {.FilterType = FilterType.NotEquals, .FilterValue = "nicht bestellt", .PredicateType = PredicateType.AndAlso}) SfDataGrid1.Columns("Projektstatus").FilterPredicates.Add(New FilterPredicate() With {.FilterType = FilterType.NotEquals, .FilterValue = "storniert", .PredicateType = PredicateType.AndAlso}) SfDataGrid1.Columns("Projektstatus").FilterPredicates.Add(New FilterPredicate() With {.FilterType = FilterType.NotEquals, .FilterValue = ""})
Dim sortColumnDescription As New SortColumnDescription()
sortColumnDescription.ColumnName = "Projektnummer"
sortColumnDescription.SortDirection = ListSortDirection.Descending Me.SfDataGrid1.SortColumnDescriptions.Add(sortColumnDescription)
SfDataGrid1.AutoGenerateRelations = False
SfDataGrid1.AllowEditing = False
Dim gridViewDefinition = New GridViewDefinition()
gridViewDefinition.RelationalColumn = "Projekt-Unterprojekt"
AddHandler nestedgrid.SelectionChanged, AddressOf nestedgrid_selection_changed
nestedgrid.AutoGenerateColumns = False
nestedgrid.Columns.Add(New GridTextColumn() With {.MappingName = "Projektnummer", .HeaderText = " UnterPrjNr", .Width = 150})
nestedgrid.Columns.Add(New GridTextColumn() With {.MappingName = "Projektbezeichnung", .HeaderText = "Projektbezeichnung", .Width = 300})
nestedgrid.Columns.Add(New GridTextColumn() With {.MappingName = "Projektstatus", .HeaderText = "Projektstatus", .Width = 160, .AllowFiltering = True})
nestedgrid.Columns("Projektstatus").FilterPredicates.Add(New FilterPredicate() With {.FilterType = FilterType.NotEquals, .FilterValue = "Abgeschlossen"})
nestedgrid.Columns("Projektstatus").FilterPredicates.Add(New FilterPredicate() With {.FilterType = FilterType.NotEquals, .FilterValue = "nicht bestellt"})
nestedgrid.Columns("Projektstatus").FilterPredicates.Add(New FilterPredicate() With {.FilterType = FilterType.NotEquals, .FilterValue = "storniert"})
nestedgrid.ContextMenuStrip = cm_nestedgrid
gridViewDefinition.DataGrid = nestedgrid
SfDataGrid1.DetailsViewDefinitions.Add(gridViewDefinition)
SfDataGrid1.HideEmptyGridViewDefinition = True
SfDataGrid1.DetailsViewPadding = New Padding(2)


Can someone help me out?

Best Regards
Chris


3 Replies

SS Sampathnarayanan Sankaralingam Syncfusion Team February 17, 2022 01:43 PM UTC

Hi han swurst, 

You can achieve the requirement of yours to show the ContextMenu in the DetailsViewDataGrid  as shown in the below code snippet. 

this.sfDataGrid1.DetailsViewLoading += SfDataGrid1_DetailsViewLoading;  
 
private void SfDataGrid1_DetailsViewLoading(object sender, Syncfusion.WinForms.DataGrid.Events.DetailsViewLoadingAndUnloadingEventArgs e) 
{ 
    e.DetailsViewDataGrid.RecordContextMenu = new ContextMenuStrip(); 
    e.DetailsViewDataGrid.RecordContextMenu.Items.Add("Cut", null); 
    e.DetailsViewDataGrid.RecordContextMenu.Items.Add("Copy", null); 
    e.DetailsViewDataGrid.RecordContextMenu.Items.Add("Paste", null); 
} 




Regards, 
Sampath Narayanan.S 



HS han swurst February 17, 2022 08:57 PM UTC

Thanks so much for your support.

I got it working now.

Best regards.

Chris




MA Mohanram Anbukkarasu Syncfusion Team February 18, 2022 05:41 AM UTC

Hi han swurst, 

We are glad to know that the provided solution worked at your end. Please let us know if you require any other assistance from us.  

Regards, 
Mohanram A. 


Loader.
Up arrow icon