/// <summary> /// Открывает диалог и обрабатывает блокировку подсказки для элементов сводной таблицы /// </summary> /// <param name="dlg"></param> void ShowDialog(ModalDialog dlg) { if (dlg != null) { // На время убираем контекстное меню сводной таблицы PivotGrid.UseContextMenu = false; // На время убираем всплывающую подсказку PivotGrid.TooltipManager.IsPaused = true; dlg.Show(); dlg.DialogClosed -= new EventHandler<DialogResultArgs>(ModalDialog_DialogClosed); dlg.DialogClosed += new EventHandler<DialogResultArgs>(ModalDialog_DialogClosed); } }
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; } }
void m_PreviewButton_Click(object sender, RoutedEventArgs e) { ModalDialog dlg = new ModalDialog(); dlg.MinHeight = 300; dlg.MinWidth = 400; dlg.Height = 500; dlg.Width = 600; dlg.Caption = Localization.ValueCopyDialog_Caption; dlg.DialogOk += new EventHandler<DialogResultArgs>(ValueCopyDialog_OkButtonClick); ValueCopyControl CopyControl = new ValueCopyControl(); CopyControl.CubeName = CubeName; CopyControl.ConnectionID = Connection; CopyControl.GetOlapDataLoader += new EventHandler<GetIDataLoaderArgs>(CopyControl_GetOlapDataLoader); CopyControl.LogManager = this.LogManager; CopyControl.Initialize(m_CopyControl.GetCopySettings()); dlg.Content = CopyControl; dlg.Show(); }
void ShowMemberAttributes(MemberData member) { if (member != null) { ModalDialog dlg = new ModalDialog() { Width = 400, Height = 300, DialogStyle = ModalDialogStyles.OK }; MemberPropertiesControl properties = new MemberPropertiesControl(); properties.Initialize(member); dlg.Content = properties; dlg.Caption = Localization.CustomPropertiesDialog_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(); } }
void MembersArea_PerformControlAction(object sender, ControlActionEventArgs<MemberInfo> e) { switch (e.Action) { case ControlActionType.ShowMDX: GetDataSourceInfo(null); break; case ControlActionType.ShowProperties: ModalDialog dlg = new ModalDialog() { Width = 400, Height = 300, DialogStyle = ModalDialogStyles.OK }; MemberPropertiesControl properties = new MemberPropertiesControl(); properties.Initialize(e.UserData); dlg.Content = properties; dlg.Caption = Localization.MemberPropertiesDialog_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.ShowAttributes: ShowMemberAttributes(e.UserData); break; } }
void ShowDataSourceInfo(DataSourceInfoArgs args) { if (args != null) { ModalDialog dlg = new ModalDialog(); dlg.Caption = Localization.DataSourceInfoDialog_Caption; dlg.MinHeight = 300; dlg.MinWidth = 400; dlg.Height = 400; dlg.Width = 500; DataSourceInfoControl DSInfo = new DataSourceInfoControl(); dlg.Content = DSInfo; DSInfo.UpdateScriptVisibility = PivotGrid.CanEdit; DSInfo.Initialize(args); // На время убираем контекстное меню сводной таблицы dlg.DialogClosed += new EventHandler<DialogResultArgs>(Dlg_DialogClosed); PivotGrid.UseContextMenu = false; dlg.Show(); } }
protected virtual void ShowValueDeliveryDialog(CellInfo cell) { if (m_CSDescr != null && cell != null && cell.IsUpdateable) { // Если в кэше есть изменения, то нужно спросить об их сохранении if (UseChangesCashe && PivotGrid.LocalChanges.Count > 0) { MessageBox.Show(Localization.PivotGrid_SaveCachedChanges, Localization.MessageBox_Warning, MessageBoxButton.OK); return; } ModalDialog dlg = new ModalDialog(); dlg.MinHeight = 300; dlg.MinWidth = 400; dlg.Height = 500; dlg.Width = 600; dlg.Caption = Localization.ValueDeliveryDialog_Caption; dlg.DialogOk += new EventHandler<DialogResultArgs>(ValueDeliveryDialog_OkButtonClick); ValueDeliveryControl DeliveryControl = new ValueDeliveryControl(); DeliveryControl.CubeName = m_CSDescr.CubeName; DeliveryControl.ConnectionID = m_CSDescr.Connection.ConnectionID; DeliveryControl.LoadMembers += new EventHandler<QueryEventArgs>(DeliveryControl_LoadMembers); DeliveryControl.Initialize(cell); dlg.Content = DeliveryControl; // На время убираем контекстное меню сводной таблицы dlg.DialogClosed += new EventHandler<DialogResultArgs>(Dlg_DialogClosed); PivotGrid.UseContextMenu = false; dlg.Show(); } }
protected virtual void ShowValueCopyDialog(CellInfo cell) { if (m_CSDescr != null && cell != null && cell.IsUpdateable) { // Если в кэше есть изменения, то нужно спросить об их сохранении if (UseChangesCashe && PivotGrid.LocalChanges.Count > 0) { MessageBox.Show(Localization.PivotGrid_SaveCachedChanges, Localization.MessageBox_Warning, MessageBoxButton.OK); return; } IDictionary<String, MemberWrap> slice = new Dictionary<String, MemberWrap>(); IDictionary<String, MemberInfo> tuple = cell.GetTuple(); foreach (String hierarchyUniqueName in tuple.Keys) { slice.Add(hierarchyUniqueName, new MemberWrap(tuple[hierarchyUniqueName])); } ModalDialog dlg = new ModalDialog(); dlg.MinHeight = 300; dlg.MinWidth = 400; dlg.Height = 500; dlg.Width = 600; dlg.Caption = Localization.ValueCopyDialog_Caption; dlg.DialogOk += new EventHandler<DialogResultArgs>(ValueCopyDialog_OkButtonClick); ValueCopyControl CopyControl = new ValueCopyControl(); CopyControl.CubeName = m_CSDescr.CubeName; CopyControl.ConnectionID = m_CSDescr.Connection.ConnectionID; CopyControl.LoadMetaData += new EventHandler(ValueCopyControl_LoadMetaData); CopyControl.GetOlapDataLoader += new EventHandler<GetIDataLoaderArgs>(CopyControl_GetMetadataLoader); CopyControl.LogManager = this.LogManager; CopyControl.Initialize(slice, cell.Value); dlg.Content = CopyControl; // На время убираем контекстное меню сводной таблицы dlg.DialogClosed += new EventHandler<DialogResultArgs>(Dlg_DialogClosed); PivotGrid.UseContextMenu = false; dlg.Show(); } }