public void Initialize(MemberControl member) { if (member != null && member.Member != null) { // Текст подсказки IList <MemberInfo> anc = new List <MemberInfo>(); member.Member.CollectAncestors(anc); StringBuilder sb = new StringBuilder(); foreach (MemberInfo mv in anc) { sb.AppendLine(mv.Caption + " : " + mv.UniqueName); } String tupleToStr = sb.ToString(); tupleToStr = tupleToStr.TrimEnd('\n'); tupleToStr = tupleToStr.TrimEnd('\r'); Caption = member.Member.Caption; Text = tupleToStr; } else { Caption = String.Empty; Text = String.Empty; } }
void Raise_PerformControlAction(ControlActionType action, MemberControl info) { EventHandler<ControlActionEventArgs<MemberControl>> handler = Members_PerformControlAction; if (handler != null) { handler(this, new ControlActionEventArgs<MemberControl>(action, info)); } }
internal SortDescriptor GetAxisPropertySort(MemberControl member) { if (member != null) { int axis = -1; if (member is ColumnMemberControl) { axis = 0; } if (member is RowMemberControl) { axis = 1; } return GetAxisPropertySort(axis, member.Member); } return null; }
void ShowSortPropertiesDialog(PivotTableSortTypes sortType, MemberControl member) { ModalDialog dlg; SortPropertiesControl sortControl; if (sortType == PivotTableSortTypes.SortByValue) { // Сортировку по значению делаем отдельным диалогом чтобы не думать о сохранении размеров if (m_SortByValueDialog == null) { m_SortByValueDialog = new ModalDialog() { Width = 500, Height = 400, MinHeight = 250, MinWidth = 180, DialogStyle = ModalDialogStyles.OKCancel }; m_SortByValueDialog.Caption = Localization.SortingSettingsDialog_Caption; m_SortByValueDialog.DialogOk += new EventHandler<DialogResultArgs>(SortProperties_DialogOk); Panel panel1 = GetRootPanel(this); if (panel1 != null) { panel1.Children.Add(m_SortByValueDialog.Dialog.PopUpControl); } } if (m_SortByValueSettingsControl == null) { m_SortByValueSettingsControl = new SortPropertiesControl(); m_SortByValueSettingsControl.CubeName = m_CSDescr != null ? m_CSDescr.CubeName : String.Empty; m_SortByValueSettingsControl.ConnectionID = m_CSDescr != null ? m_CSDescr.Connection.ConnectionID : String.Empty; m_SortByValueSettingsControl.GetOlapDataLoader += new EventHandler<GetIDataLoaderArgs>(CopyControl_GetMetadataLoader); m_SortByValueSettingsControl.LogManager = this.LogManager; m_SortByValueSettingsControl.LoadMeasures += new EventHandler<CustomEventArgs<EventArgs>>(m_SortSettingsControl_LoadMeasures); m_SortByValueDialog.Content = m_SortByValueSettingsControl; } sortControl = m_SortByValueSettingsControl; dlg = m_SortByValueDialog; } else { if (m_SortDialog == null) { m_SortDialog = new ModalDialog() { Width = 400, Height = 250, MinHeight = 215, MinWidth = 180, DialogStyle = ModalDialogStyles.OKCancel }; m_SortDialog.Caption = Localization.SortingSettingsDialog_Caption; m_SortDialog.DialogOk += new EventHandler<DialogResultArgs>(SortProperties_DialogOk); Panel panel1 = GetRootPanel(this); if (panel1 != null) { panel1.Children.Add(m_SortDialog.Dialog.PopUpControl); } } if (m_SortSettingsControl == null) { m_SortSettingsControl = new SortPropertiesControl(); m_SortSettingsControl.CubeName = m_CSDescr != null ? m_CSDescr.CubeName : String.Empty; m_SortSettingsControl.ConnectionID = m_CSDescr != null ? m_CSDescr.Connection.ConnectionID : String.Empty; m_SortSettingsControl.GetOlapDataLoader += new EventHandler<GetIDataLoaderArgs>(CopyControl_GetMetadataLoader); m_SortSettingsControl.LogManager = this.LogManager; m_SortSettingsControl.LoadMeasures += new EventHandler<CustomEventArgs<EventArgs>>(m_SortSettingsControl_LoadMeasures); m_SortDialog.Content = m_SortSettingsControl; } sortControl = m_SortSettingsControl; dlg = m_SortDialog; } if (dlg == null || sortControl == null) return; dlg.Tag = sortControl; sortControl.Tag = member; SortDescriptor sort = null; switch (sortType) { case PivotTableSortTypes.SortByProperty: if (m_CellSetProvider != null && member != null && member.Member != null) { sort = GetAxisPropertySort(member); } break; case PivotTableSortTypes.SortAxisByMeasure: sort = GetAxisByMeasureSort(member); break; case PivotTableSortTypes.SortByValue: // Получаем сортировку для противоположной оси. Если это сортировка по значению, то проверяем чтобы это была сортировка для данного элемента. Если нет, то создается новый дескриптор if (member is ColumnMemberControl || member is RowMemberControl) { var value_sort = GetAxisSort(member is ColumnMemberControl ? AreaType.RowsArea : AreaType.ColumnsArea) as SortByValueDescriptor; if (value_sort != null && member != null && member.Member != null && value_sort.CompareByTuple(member.Member.GetAxisTuple())) { sort = value_sort; } } if (sort == null) { sort = new SortByValueDescriptor(); if (member != null && member.Member != null) { (sort as SortByValueDescriptor).Tuple = member.Member.GetAxisTuple(); } } break; } sortControl.Initialize(sortType, sort); ShowDialog(dlg); }
SortDescriptor GetAxisPropertySort(MemberControl member) { return PivotGrid.GetAxisPropertySort(member); }
void SetAxisByMeasureSort(MemberControl member, SortDescriptor sort) { if (member is ColumnMemberControl) SetAxisSort(AreaType.ColumnsArea, sort); if (member is RowMemberControl) SetAxisSort(AreaType.RowsArea, sort); }
SortDescriptor GetAxisByMeasureSort(MemberControl member) { if (member is ColumnMemberControl) return GetAxisSort(AreaType.ColumnsArea); if (member is RowMemberControl) return GetAxisSort(AreaType.RowsArea); return null; }
public void Initialize(MemberControl member) { if (member != null && member.Member != null) { // Текст подсказки IList<MemberInfo> anc = member.Member.GetAncestors(); StringBuilder sb = new StringBuilder(); foreach (MemberInfo mv in anc) { sb.AppendLine(mv.Caption + " : " + mv.UniqueName); } String tupleToStr = sb.ToString(); tupleToStr = tupleToStr.TrimEnd('\n'); tupleToStr = tupleToStr.TrimEnd('\r'); Caption = member.Member.Caption; Text = tupleToStr; } else { Caption = String.Empty; Text = String.Empty; } }