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)
|
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);
}
|
Thanks so much for your support.
I got it working now.
Best regards.
Chris