private void RadContextMenu_ItemClick(object sender, RadRoutedEventArgs e) { RadContextMenu menu = (RadContextMenu)sender; RadMenuItem clickedItem = e.OriginalSource as RadMenuItem; GridViewRow row = menu.GetClickedElement <GridViewRow>(); GroupHeaderRow groupHeaderRow = menu.GetClickedElement <GroupHeaderRow>(); if (clickedItem != null && row != null) { string header = Convert.ToString(clickedItem.Header); switch (header) { case "Add": gridView.BeginInsert(); break; case "Edit": gridView.BeginEdit(); break; case "Delete": gridView.Items.Remove(row.DataContext); break; default: break; } } else if (clickedItem != null && groupHeaderRow != null) { string header = Convert.ToString(clickedItem.Header); switch (header) { case "Delete": var group = groupHeaderRow.DataContext as QueryableCollectionViewGroup; var items = group.Items.ToList(); foreach (var item in items) { gridView.Items.Remove(item); } break; default: break; } } }
private static void InsertMenuItem_Click(object sender, Telerik.Windows.RadRoutedEventArgs e, RadGridView gridView) { gridView.BeginInsert(); }