Example #1
0
        void InitializeTuple(SortByValueDescriptor sortDescriptor)
        {
            var tuple = new List <TupleItem>();

            if (sortDescriptor != null)
            {
                tuple = new List <TupleItem>();
                foreach (var item in sortDescriptor.Tuple)
                {
                    var tuple_item = new TupleItem()
                    {
                        HierarchyUniqueName = item.Key, MemberUniqueName = item.Value
                    };
                    tuple.Add(tuple_item);
                }

                // Если меры в тапле нет, то добавляем ее искусственно
                if (!sortDescriptor.Tuple.ContainsKey("[Measures]"))
                {
                    var tuple_item = new TupleItem()
                    {
                        HierarchyUniqueName = "[Measures]", MemberUniqueName = sortDescriptor.MeasureUniqueName, IsReadOnly = false, IsCustom = true
                    };
                    tuple.Add(tuple_item);
                }
            }

            tupleControl.Initialize(tuple);
        }
        void InitializeTuple(SortByValueDescriptor sortDescriptor)
        {
            var tuple = new List<TupleItem>();
            if (sortDescriptor != null)
            {
                tuple = new List<TupleItem>();
                foreach (var item in sortDescriptor.Tuple)
                {
                    var tuple_item = new TupleItem() { HierarchyUniqueName = item.Key, MemberUniqueName = item.Value };
                    tuple.Add(tuple_item);
                }
                
                // Если меры в тапле нет, то добавляем ее искусственно
                if (!sortDescriptor.Tuple.ContainsKey("[Measures]"))
                {
                    var tuple_item = new TupleItem() { HierarchyUniqueName = "[Measures]", MemberUniqueName = sortDescriptor.MeasureUniqueName,  IsReadOnly = false, IsCustom = true };
                    tuple.Add(tuple_item);
                }
            }

            tupleControl.Initialize(tuple);
        }
        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;
        }
        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);
        }