void Dialog_DialogOk(object sender, EventArgs e) { MemberChoiceDialog dlg = sender as MemberChoiceDialog; if (dlg != null) { var item = dlg.Tag as TupleItem; if (item != null) { List <MemberChoiceSettings> selectedInfo = dlg.ChoiceControl.SelectedInfo; if (selectedInfo != null && selectedInfo.Count == 1) { item.MemberUniqueName = dlg.ChoiceControl.SelectedInfo[0].UniqueName; } } return; } MeasureChoiceDialog measure_dlg = sender as MeasureChoiceDialog; if (measure_dlg != null) { var item = measure_dlg.Tag as TupleItem; if (item != null) { if (measure_dlg.ChoiceControl.SelectedInfo != null) { item.MemberUniqueName = measure_dlg.ChoiceControl.SelectedInfo.UniqueName; } } } }
bool BeginMemberEdit(TupleItem item) { if (item != null) { IChoiceDialog dlg = null; if (!String.IsNullOrEmpty(item.HierarchyUniqueName) && m_ChoiceDialogs.ContainsKey(item.HierarchyUniqueName)) { dlg = m_ChoiceDialogs[item.HierarchyUniqueName]; } if (dlg == null) { if (item.HierarchyUniqueName == "[Measures]") { // Выбор меры MeasureChoiceDialog dialog = new MeasureChoiceDialog(); dialog.ChoiceControl.CubeName = CubeName; dialog.ChoiceControl.Connection = ConnectionID; dialog.ChoiceControl.LogManager = LogManager; GetIDataLoaderArgs args = new GetIDataLoaderArgs(); Raise_GetOlapDataLoader(args); if (args.Handled) { dialog.ChoiceControl.OlapDataLoader = args.Loader; } dialog.Tag = item; dialog.DialogOk += new EventHandler(Dialog_DialogOk); dialog.DialogCancel += new EventHandler(Dialog_DialogCancel); dialog.Show(); dlg = dialog; } else { // Выбор элемента измерения MemberChoiceDialog dialog = new MemberChoiceDialog(); dialog.ChoiceControl.CubeName = CubeName; dialog.ChoiceControl.Connection = ConnectionID; dialog.ChoiceControl.HierarchyUniqueName = item.HierarchyUniqueName; dialog.ChoiceControl.LogManager = LogManager; GetIDataLoaderArgs args = new GetIDataLoaderArgs(); Raise_GetOlapDataLoader(args); if (args.Handled) { dialog.ChoiceControl.OlapDataLoader = args.Loader; } dialog.Tag = item; dialog.DialogOk += new EventHandler(Dialog_DialogOk); dialog.DialogCancel += new EventHandler(Dialog_DialogCancel); dialog.Show(); dlg = dialog; } if (!String.IsNullOrEmpty(item.HierarchyUniqueName)) { m_ChoiceDialogs[item.HierarchyUniqueName] = dlg; } } if (dlg != null) { dlg.Show(); return(true); } } return(false); }