void CellsControl_PerformControlAction(object sender, ControlActionEventArgs<CellInfo> e) { switch (e.Action) { case ControlActionType.ShowMDX: UpdateEntry entry = new UpdateEntry(e.UserData); try { if (e.UserData != null) entry.OldValue = e.UserData.CellDescr.Value.Value.ToString(); } catch { } UpdateEntry change = PivotGrid.LocalChanges.FindChange(e.UserData); if (change != null) { entry.NewValue = change.NewValue; } ShowDataSourceInfo(GetDataSourceInfo(entry)); break; case ControlActionType.ShowProperties: ModalDialog dlg = new ModalDialog() { Width = 400, Height = 300, DialogStyle = ModalDialogStyles.OK }; CellPropertiesControl properties = new CellPropertiesControl(); properties.Initialize(e.UserData); dlg.Content = properties; dlg.Caption = Localization.CellPropertiesDialog_Caption; Panel panel = GetRootPanel(this); if (panel != null) { panel.Children.Add(dlg.Dialog.PopUpControl); } ShowDialog(dlg); break; case ControlActionType.ValueDelivery: ShowValueDeliveryDialog(e.UserData); break; case ControlActionType.ValueCopy: ShowValueCopyDialog(e.UserData); break; case ControlActionType.Copy: CopyCellsToClipboard(e.UserData); break; case ControlActionType.Paste: PasteCellsFromClipboard(e.UserData); break; case ControlActionType.DrillThrough: DrillThroughCell(e.UserData); break; case ControlActionType.DataReorganizationType_None: ChangeDataReorganizationType(DataReorganizationTypes.None); break; case ControlActionType.DataReorganizationType_HitchToParent: ChangeDataReorganizationType(DataReorganizationTypes.LinkToParent); break; case ControlActionType.DataReorganizationType_MergeNeighbors: ChangeDataReorganizationType(DataReorganizationTypes.MergeNeighbors); break; } }
void CellsControl_PerformControlAction(object sender, ControlActionEventArgs<CellInfo> e) { switch (e.Action) { case ControlActionType.ShowMDX: UpdateEntry entry = new UpdateEntry(e.UserData); try { entry.OldValue = e.UserData.CellDescr.Value.Value.ToString(); } catch { } UpdateEntry change = PivotGrid.LocalChanges.FindChange(e.UserData); if (change != null) { entry.NewValue = change.NewValue; } GetDataSourceInfo(entry); break; case ControlActionType.ShowProperties: ModalDialog dlg = new ModalDialog() {Width = 400, Height = 300, DialogStyle = ModalDialogStyles.OK }; CellPropertiesControl properties = new CellPropertiesControl(); properties.Initialize(e.UserData); dlg.Content = properties; dlg.Caption = Localization.CellPropertiesDialog_Caption; Panel panel = GetRootPanel(this); if (panel != null) { panel.Children.Add(dlg.Dialog.PopUpControl); } // На время убираем контекстное меню сводной таблицы dlg.DialogClosed += new EventHandler<DialogResultArgs>(Dlg_DialogClosed); PivotGrid.UseContextMenu = false; dlg.Show(); break; case ControlActionType.ValueDelivery: ShowValueDeliveryDialog(e.UserData); break; case ControlActionType.ValueCopy: ShowValueCopyDialog(e.UserData); break; case ControlActionType.Copy: CopyCellsToClipboard(e.UserData); break; case ControlActionType.Paste: PasteCellsFromClipboard(e.UserData); break; case ControlActionType.DrillThrough: DrillThroughCell(e.UserData); break; } }