private void EditTournament(object sender, RadRoutedEventArgs e) { var item = tournamentsGridContextMenu.GetClickedElement <GridViewRow>(); if (item != null) { reportGadgetViewModel.EditTournamentCommand.Execute(item.DataContext); } }
private void MakeNote(object sender, RadRoutedEventArgs e) { var item = handsGridContextMenu.GetClickedElement <GridViewRow>(); if (item != null) { reportGadgetViewModel.MakeNoteCommand.Execute(item.DataContext); } }
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 void GridContextMenu_ItemClick(object sender, Telerik.Windows.RadRoutedEventArgs e) { RadContextMenu menu = (RadContextMenu)sender; RadMenuItem clickedItem = e.OriginalSource as RadMenuItem; GridViewRow row = menu.GetClickedElement <GridViewRow>(); if (clickedItem != null && row != null) { string header = Convert.ToString(clickedItem.Header); switch (header) { case "Add": break; case "Edit": HSQuotationHistory lQuotation = row.Item as HSQuotationHistory; if (selectedQuotationHistoryCommand != null) { selectedQuotationHistoryCommand(lQuotation.SalesId); } break; case "Delete": break; default: break; } } }
void OnMenuOpened(object sender, RoutedEventArgs e) { RadContextMenu menu = (RadContextMenu)sender; GridViewHeaderCell cell = menu.GetClickedElement <GridViewHeaderCell>(); if (cell != null) { menu.Items.Clear(); RadMenuItem item = new RadMenuItem(); item.Header = String.Format(@"Sort Ascending by ""{0}""", cell.Column.Header); menu.Items.Add(item); item = new RadMenuItem(); item.Header = String.Format(@"Sort Descending by ""{0}""", cell.Column.Header); menu.Items.Add(item); item = new RadMenuItem(); item.Header = String.Format(@"Clear Sorting by ""{0}""", cell.Column.Header); menu.Items.Add(item); item = new RadMenuItem(); item.Header = String.Format(@"Group by ""{0}""", cell.Column.Header); menu.Items.Add(item); item = new RadMenuItem(); item.Header = String.Format(@"Ungroup ""{0}""", cell.Column.Header); menu.Items.Add(item); item = new RadMenuItem(); item.Header = "Choose Columns:"; menu.Items.Add(item); // create menu items foreach (GridViewColumn column in grid.Columns) { RadMenuItem subMenu = new RadMenuItem(); subMenu.Header = column.Header; subMenu.IsCheckable = true; subMenu.IsChecked = true; Binding isCheckedBinding = new Binding("IsVisible"); isCheckedBinding.Mode = BindingMode.TwoWay; isCheckedBinding.Source = column; // bind IsChecked menu item property to IsVisible column property subMenu.SetBinding(RadMenuItem.IsCheckedProperty, isCheckedBinding); item.Items.Add(subMenu); } } else { menu.IsOpen = false; } }
void OnMenuItemClick(object sender, RoutedEventArgs e) { RadContextMenu menu = (RadContextMenu)sender; GridViewHeaderCell cell = menu.GetClickedElement <GridViewHeaderCell>(); RadMenuItem clickedItem = ((RadRoutedEventArgs)e).OriginalSource as RadMenuItem; GridViewColumn column = cell.Column; if (clickedItem.Parent is RadMenuItem) { return; } string header = Convert.ToString(clickedItem.Tag); using (grid.DeferRefresh()) { ColumnSortDescriptor sd = (from d in grid.SortDescriptors.OfType <ColumnSortDescriptor>() where d.Column == column select d).FirstOrDefault(); if (header.Contains("Ascending")) { if (sd != null) { grid.SortDescriptors.Remove(sd); } ColumnSortDescriptor newDescriptor = new ColumnSortDescriptor(); newDescriptor.Column = column; newDescriptor.SortDirection = ListSortDirection.Ascending; grid.SortDescriptors.Add(newDescriptor); } else if (header.Contains("Descending")) { if (sd != null) { grid.SortDescriptors.Remove(sd); } ColumnSortDescriptor newDescriptor = new ColumnSortDescriptor(); newDescriptor.Column = column; newDescriptor.SortDirection = ListSortDirection.Descending; grid.SortDescriptors.Add(newDescriptor); } else if (header.Contains("Clear")) { if (sd != null) { grid.SortDescriptors.Remove(sd); } } } }
private void RadContextMenu_Opened(object sender, RoutedEventArgs e) { RadContextMenu menu = (RadContextMenu)sender; GridViewRow row = menu.GetClickedElement <GridViewRow>(); if (row != null) { row.IsSelected = row.IsCurrent = true; GridViewCell cell = menu.GetClickedElement <GridViewCell>(); if (cell != null) { cell.IsCurrent = true; } } else { menu.IsOpen = false; } }
private void RadContextMenu_Opened(object sender, RoutedEventArgs e) { RadContextMenu menu = (RadContextMenu)sender; GridViewRow row = menu.GetClickedElement <GridViewRow>(); GroupHeaderRow groupHeaderRow = menu.GetClickedElement <GroupHeaderRow>(); if (row != null && !row.IsInEditMode) { menu.Items.Clear(); RadMenuItem item = new RadMenuItem(); item.Header = "Add"; menu.Items.Add(item); item = new RadMenuItem(); item.Header = "Edit"; menu.Items.Add(item); item = new RadMenuItem(); item.Header = "Delete"; menu.Items.Add(item); row.IsSelected = row.IsCurrent = true; GridViewCell cell = menu.GetClickedElement <GridViewCell>(); if (cell != null) { cell.IsCurrent = true; } } else if (groupHeaderRow != null) { menu.Items.Clear(); RadMenuItem item = new RadMenuItem(); item.Header = "Delete"; menu.Items.Add(item); } else { menu.IsOpen = false; } }
/****************** * ContextMenu *******************/ private void RadContextMenu_OpenedGeneral(object sender, RoutedEventArgs e) { RadContextMenu menu = (RadContextMenu)sender; try { GridViewCell cell = menu.GetClickedElement <GridViewCell>(); if (cell != null) { System.Data.DataRow row = cell.ParentRow.DataContext as System.Data.DataRow; this.SectorsRadGridView.SelectedItems.Clear(); this.SectorsRadGridView.SelectedItem = row; } } catch { } }
private void GridContextMenu_ItemClick(object sender, Telerik.Windows.RadRoutedEventArgs e) { RadContextMenu menu = (RadContextMenu)sender; RadMenuItem clickedItem = e.OriginalSource as RadMenuItem; GridViewRow row = menu.GetClickedElement <GridViewRow>(); if (clickedItem != null && row != null) { string header = Convert.ToString(clickedItem.Header); switch (header) { case "Add": break; case "Edit": DataSource.Invoice lSelectedInvoice = row.Item as DataSource.Invoice; if (lSelectedInvoice != null) { DataSource.Order lOrder = lDataContext.Orders.SingleOrDefault(p => p.InvoiceId == lSelectedInvoice.Id); if (lOrder == null) { MessageBox.Show("Failed to find Order Id [" + lSelectedInvoice.Id + "]"); return; } scannedOrderCommand?.Invoke(lOrder.Id); } break; case "Delete": break; default: break; } } }
/// <summary> /// The OnMenuItemClick. /// </summary> /// <param name="sender">The sender<see cref="object"/>.</param> /// <param name="e">The e<see cref="RoutedEventArgs"/>.</param> public void OnMenuItemClick(object sender, RoutedEventArgs e) { RadContextMenu menu = (RadContextMenu)sender; GridViewHeaderCell cell = menu.GetClickedElement <GridViewHeaderCell>(); GridViewColumn column = cell.Column; string header = string.Empty; if (((RadRoutedEventArgs)e).OriginalSource is RadMenuItem clickedItem) { if (clickedItem?.Parent is RadMenuItem) { return; } else { header = (string)clickedItem !.Header ?? string.Empty; } } using (_grid.DeferRefresh()) { ColumnSortDescriptor sd = (from d in _grid.SortDescriptors.OfType <ColumnSortDescriptor>() where object.Equals(d.Column, column) select d).FirstOrDefault(); if (header !.Contains("Sort Ascending")) { if (sd != null) { _grid.SortDescriptors.Remove(sd); } ColumnSortDescriptor newDescriptor = new ColumnSortDescriptor { Column = column, SortDirection = ListSortDirection.Ascending, }; _grid.SortDescriptors.Add(newDescriptor); }
private void GridContextMenu_ItemClick(object sender, Telerik.Windows.RadRoutedEventArgs e) { RadContextMenu menu = (RadContextMenu)sender; RadMenuItem clickedItem = e.OriginalSource as RadMenuItem; GridViewRow row = menu.GetClickedElement <GridViewRow>(); if (clickedItem != null && row != null) { string header = Convert.ToString(clickedItem.Header); switch (header) { case "Add": break; case "Edit": HSOrderHistory lOrderHistory = row.Item as HSOrderHistory; if (selectedOrderHistoryCommand != null) { selectedOrderHistoryCommand(lOrderHistory.OrderId); PageST = this.dtPickerST.SelectedValue; PageET = this.dtPickerET.SelectedValue; } break; case "Delete": break; default: break; } } }
/// <summary> /// Method to catch click event to open context menu /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void RadContextMenu_Opened(object sender, RoutedEventArgs e) { if (sender == null || e == null) { return; } RadContextMenu menu = (RadContextMenu)sender; if (menu == null) { return; } GridViewRow row = menu.GetClickedElement <GridViewRow>(); GridViewGroupRow groupRow = menu.GetClickedElement <GridViewGroupRow>(); GridViewHeaderRow headerRow = menu.GetClickedElement <GridViewHeaderRow>(); if (row != null) { row.IsSelected = row.IsCurrent = true; (menu.Items[0] as RadMenuItem).IsEnabled = true; (menu.Items[1] as RadMenuItem).IsEnabled = true; (menu.Items[2] as RadMenuItem).IsEnabled = true; (menu.Items[3] as RadMenuItem).IsEnabled = true; return; } if (groupRow != null) { (menu.Items[0] as RadMenuItem).IsEnabled = true; (menu.Items[1] as RadMenuItem).IsEnabled = true; (menu.Items[2] as RadMenuItem).IsEnabled = true; (menu.Items[3] as RadMenuItem).IsEnabled = false; if (!(groupRow.Group.Key is string)) { return; } string groupName = groupRow.Group.Key as string; int itemCount = 0; foreach (MarketSnapshotPerformanceData item in this.radGridSnapshot.Items) { if (item.MarketSnapshotPreferenceInfo.GroupName == groupName && item.MarketSnapshotPreferenceInfo.EntityOrder == 1) { this.radGridSnapshot.SelectedItem = item; return; } itemCount++; } return; } if (headerRow != null) { (menu.Items[0] as RadMenuItem).IsEnabled = true; (menu.Items[1] as RadMenuItem).IsEnabled = false; (menu.Items[2] as RadMenuItem).IsEnabled = false; (menu.Items[3] as RadMenuItem).IsEnabled = false; return; } menu.IsOpen = false; }
private void RadContextMenu_ItemClick(object sender, RadRoutedEventArgs e) { RadContextMenu menu = (RadContextMenu)sender; RadMenuItem clickedItem = e.OriginalSource as RadMenuItem; GridViewRow row = menu.GetClickedElement <GridViewRow>(); if (clickedItem != null && row != null) { string header = Convert.ToString(clickedItem.Header); switch (header) { case "新建": break; case "编辑": break; case "删除": DirectoryInfoModel directoryInfoModel = row.DataContext as DirectoryInfoModel; gridView.Items.Remove(row.DataContext); if (File.Exists(directoryInfoModel.FullName)) { try { File.Delete(directoryInfoModel.FullName); Application.Current.Dispatcher.BeginInvoke(new Action(() => { RadWindow.Alert(new DialogParameters { Content = "删除成功!", DefaultPromptResultValue = directoryInfoModel.Name, Theme = new Windows8Theme(), Header = "提示", TopOffset = 30, OkButtonContent = "关闭", }); })); } catch (Exception ex) { LogHelper.ErrorLog(ex, "删除文件"); Application.Current.Dispatcher.BeginInvoke(new Action(() => { RadWindow.Alert(new DialogParameters { Content = "删除失败!", DefaultPromptResultValue = directoryInfoModel.Name, Theme = new Windows8Theme(), Header = "提示", TopOffset = 30, OkButtonContent = "关闭", }); })); } } break; default: break; } } }
private void InitContextMenu() { handsGridContextMenu = new RadContextMenu(); tournamentsGridContextMenu = new RadContextMenu(); reportsGridContextMenu = new RadContextMenu(); /* Calculate equity item */ RadMenuItem calculateEquityItem = CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.CalculateEquityResourceString), false, EquityCalcMenuItem_Click); Binding equityEnabledBinding = new Binding(nameof(ReportGadgetViewModel.IsEquityCalculatorEnabled)) { Source = this.reportGadgetViewModel }; calculateEquityItem.SetBinding(RadMenuItem.IsEnabledProperty, equityEnabledBinding); handsGridContextMenu.Opening += (s, e) => { var item = handsGridContextMenu.GetClickedElement <GridViewRow>(); if (item != null && item.DataContext != null && item.DataContext is ReportHandViewModel hand && (GameTypeUtils.CompareGameType((GameType)hand.PokerGameTypeId, GameType.NoLimitOmaha) || GameTypeUtils.CompareGameType((GameType)hand.PokerGameTypeId, GameType.NoLimitOmahaHiLo))) { calculateEquityItem.Visibility = Visibility.Collapsed; return; } calculateEquityItem.Visibility = Visibility.Visible; }; /* Export items */ RadMenuItem exportHandItem = CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.ExportHandResourceString), false, null); RadMenuItem twoPlustTwoItem = CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.TwoPlustTwoResourceString), false, GeneralExportItem_Click, EnumExportType.TwoPlusTwo); RadMenuItem cardsChatItem = CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.CardsChatResourceString), false, GeneralExportItem_Click, EnumExportType.CardsChat); RadMenuItem pokerStrategyItem = CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.PokerStrategyString), false, GeneralExportItem_Click, EnumExportType.PokerStrategy); RadMenuItem icmizerHistoryItem = CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.ICMizerHandHistory), false, RawExportItem_Click, extraAction: item => { var binding = new Binding(nameof(ReportGadgetViewModel.IsShowTournamentData)) { Source = reportGadgetViewModel, Converter = new BoolToVisibilityConverter() }; item.SetBinding(VisibilityProperty, binding); }); RadMenuItem exportTo3rdPartyItem = CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.ExportGridHandsResourceString), false, null, command: nameof(ReportGadgetViewModel.ExportSelectedHandsTo3rdPartyCommand)); RadMenuItem rawHistoryItem = CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.RawHandHistoryString), false, RawExportItem_Click); RadMenuItem plainTextHandHistoryItem = CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.PlainTextHandHistoryString), false, PlainExportItem_Click); exportHandItem.Items.Add(twoPlustTwoItem); exportHandItem.Items.Add(cardsChatItem); exportHandItem.Items.Add(pokerStrategyItem); exportHandItem.Items.Add(icmizerHistoryItem); exportHandItem.Items.Add(rawHistoryItem); exportHandItem.Items.Add(plainTextHandHistoryItem); exportHandItem.Items.Add(exportTo3rdPartyItem); /* Replay hand */ RadMenuItem replayHand = CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.ReplayHandResourceString), false, ReplayHand); /* Tag Hand */ RadMenuItem tagHandItem = CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.TagHand), false, null); RadMenuItem forReviewItem = CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.HandTagForReview), false, TagHand, EnumHandTag.ForReview); RadMenuItem bluffItem = CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.HandTagBluff), false, TagHand, EnumHandTag.Bluff); RadMenuItem heroCallitem = CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.HandTagHeroCall), false, TagHand, EnumHandTag.HeroCall); RadMenuItem bigFold = CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.HandTagBigFold), false, TagHand, EnumHandTag.BigFold); RadMenuItem removeTag = CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.HandTagNone), false, TagHand, EnumHandTag.None); tagHandItem.Items.Add(forReviewItem); tagHandItem.Items.Add(bluffItem); tagHandItem.Items.Add(heroCallitem); tagHandItem.Items.Add(bigFold); tagHandItem.Items.Add(removeTag); var makeNoteItem = CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.MakeNote), false, MakeNote); var editTournamentItem = CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.EditTournamentResourceString), false, EditTournament); var deleteHandItem = CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.DeleteHandResourceString), false, null, command: nameof(ReportGadgetViewModel.DeleteHandCommand)); var deleteTournamentItem = CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.DeleteTournamentResourceString), false, DeleteTournament); handsGridContextMenu.Items.Add(calculateEquityItem); handsGridContextMenu.Items.Add(exportHandItem); handsGridContextMenu.Items.Add(replayHand); handsGridContextMenu.Items.Add(tagHandItem); handsGridContextMenu.Items.Add(makeNoteItem); handsGridContextMenu.Items.Add(deleteHandItem); tournamentsGridContextMenu.Items.Add(editTournamentItem); tournamentsGridContextMenu.Items.Add(deleteTournamentItem); tournamentsGridContextMenu.Items.Add(CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.RefreshReportResourceString), false, RefreshReport)); tournamentsGridContextMenu.Items.Add(CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.ExportToExcelReportResourceString), false, ExportReport)); tournamentsGridContextMenu.Items.Add(CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.ExportHandsResourceString), false, null, command: nameof(ReportGadgetViewModel.ExportSelectedReportsTo3rdPartyCommand))); reportsGridContextMenu.Items.Add(CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.RefreshReportResourceString), false, RefreshReport)); reportsGridContextMenu.Items.Add(CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.ExportToExcelReportResourceString), false, ExportReport)); reportsGridContextMenu.Items.Add(CreateRadMenuItem(CommonResourceManager.Instance.GetResourceString(ResourceStrings.ExportHandsResourceString), false, null, command: nameof(ReportGadgetViewModel.ExportSelectedReportsTo3rdPartyCommand))); }
/// <summary> /// The OnMenuOpened. /// </summary> /// <param name="sender">The sender<see cref="object"/>.</param> /// <param name="e">The e<see cref="RoutedEventArgs"/>.</param> public void OnMenuOpened(object sender, RoutedEventArgs e) { RadContextMenu menu = (RadContextMenu)sender; GridViewHeaderCell cell = menu.GetClickedElement <GridViewHeaderCell>(); if (cell != null) { menu.Items.Clear(); if (cell.Column.CanFilter()) { string insertString = (string)(cell.Column.Tag ?? cell.Column.Header); menu.Items.Add(new RadMenuItem { Header = string.Format(@"Sort Ascending by ""{0}""", insertString), }); menu.Items.Add(new RadMenuItem { Header = string.Format(@"Sort Descending by ""{0}""", insertString), }); menu.Items.Add(new RadMenuItem { Header = string.Format(@"Clear Sorting by ""{0}""", insertString), }); menu.Items.Add(new RadMenuItem { Header = string.Format(@"Group by ""{0}""", insertString), }); menu.Items.Add(new RadMenuItem { Header = string.Format(@"Ungroup ""{0}""", insertString), }); } RadMenuItem item = new RadMenuItem { Header = "Choose Columns:", }; menu.Items.Add(item); // create menu items foreach (GridViewColumn column in _grid.Columns) { RadMenuItem subMenu = new RadMenuItem { Header = column.Tag ?? column.Header, IsCheckable = true, IsChecked = true, }; Binding isCheckedBinding = new Binding("IsVisible") { Mode = BindingMode.TwoWay, Source = column, }; // bind IsChecked menu item property to IsVisible column property subMenu.SetBinding(RadMenuItem.IsCheckedProperty, isCheckedBinding); item.Items.Add(subMenu); } } else { menu.IsOpen = false; } }