Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
545
Change Hierarchy Descriptor on runtime
posted

It is possible to set new Level Descriptors on Runtime? The code below do not work. I dont know the reason why the pivot grid do not refresh the hierarchy

        private void ChangePeriodType(BusinessObjects.Constant.BudgetPeriodType type)
        {
            if (this.MyDateLevels != null && this.MyDateLevels.Count == 4 && this.MyDateDescriptor !=null)
            {
                this.FlatData.HierarchyDescriptors.Remove(this.MyDateDescriptor);
                switch (type)
                {
                    case Constant.BudgetPeriodType.Quarterly:
                        this.MyDateDescriptor.LevelDescriptors.Clear();
                        this.MyDateDescriptor.LevelDescriptors.AddRange(this.MyDateLevels.Take(3));
                        break;
                    case Constant.BudgetPeriodType.Yearly:
                        this.MyDateDescriptor.LevelDescriptors.Clear();
                        this.MyDateDescriptor.LevelDescriptors.AddRange(this.MyDateLevels.Take(2));
                        break;
                    default:
                        this.MyDateDescriptor.LevelDescriptors.Clear();
                        this.MyDateDescriptor.LevelDescriptors.AddRange(this.MyDateLevels);
                        break;
                }
                this.FlatData.AddHierarchyDescriptor(this.MyDateDescriptor);
                this.FlatData.RefreshGrid();
            }
        }
            Hierarchy = new HierarchyDescriptor<BudgetMainViewModel>(p => p.Date);
            Hierarchy.AppliesToPropertiesOfType = typeof(DateTime?);
            Hierarchy.AddLevel<DateTime?>(p => "Date", "Date");
            Hierarchy.AddLevel<DateTime?>(p => p.GetValueOrDefault().Year, "Year");
            Hierarchy.AddLevel<DateTime?>(p => p.GetValueOrDefault().QuarterShort(), "Quarter");
            Hierarchy.AddLevel<DateTime?>(p => p.GetValueOrDefault().MonthShort(), "Month");
            Expression<Func<DateTime?, int>> expression = (p => p.GetValueOrDefault().Month);
            Hierarchy.LevelDescriptors[3].OrderByKeyExpression = expression;
            Hierarchy.HierarchyDisplayName = "Date";
            this.MyDateDescriptor = Hierarchy;
            this.MyDateLevels = new List<HierarchyLevelDescriptor>(Hierarchy.LevelDescriptors);
            this.FlatData.AddHierarchyDescriptor(Hierarchy);
Parents
No Data
Reply
  • 138253
    Offline posted

    Hello Roman,

    After looking into this and doing some research, "Change Hierarchy Descriptor on runtime" has been determined to be a new product idea. You can suggest new product ideas for future versions (or vote for existing ones) at http://ideas.infragistics.com.

    There are many benefits to submitting an product idea:

    -          Direct communication with our product management team regarding your product idea.

    -          Notifications whenever new information regarding your idea becomes available.

    -          Ability to vote on your favorite product ideas to let us know which ones are the most important to you.  You will have ten votes for this and can change which ideas you are voting for at any time.

    -          Allow you to shape the future of our products by requesting new controls and products altogether.

    -          You and other developers can discuss existing product ideas with members of our Product Management team.

    Steps to create your idea:               

    1. Log into the Infragistics Product Idea site at http://ideas.infragistics.com (creating a new login if needed).
    2. Navigate to the product / platform channel of your choice (e.g. WPF, Windows Forms, ASP.NET, HTML5 / Ignite UI, iOS / NucliOS, etc.)
    3. Add your product idea and be sure to be specific and provide as much detail as possible. Explain the context in which a feature would be used, why it is needed, why it can’t be accomplished today, and who would benefit from it. You can even add screenshots to build a stronger case. Remember that for your suggestion to be successful, you need other members of the community to vote for it. Be convincing!
    4. “Include a link to this thread” in your idea so product management will be able to look back at this case. 

    The Product Idea site puts you in the driver’s seat and allows you to track the progress of your ideas at any time, see how many votes it got, read comments from other developers in the community, and see if someone from the product team has additional questions for you.

    Thank you for contacting Infragistics.

Children