Beispiel #1
0
        protected virtual void MeasureGroupElements(SizeF availableSize, ref SizeF sizeNeeded)
        {
            int length = this.groupElements.Length;

            for (int index = 0; index < length; ++index)
            {
                GroupElement groupElement = this.groupElements[index];
                groupElement.Measure(availableSize);
                SizeF desiredSize = groupElement.DesiredSize;
                sizeNeeded.Width  += desiredSize.Width;
                sizeNeeded.Height += desiredSize.Height;
            }
            sizeNeeded.Height += (float)((length - 1) * this.ItemsDistance.Height);
            sizeNeeded.Width  += (float)((length - 1) * this.ItemsDistance.Width);
        }
Beispiel #2
0
        private void UpdateGroups()
        {
            List <GroupElement>     groupElementList     = new List <GroupElement>();
            List <GroupLinkElement> groupLinkElementList = new List <GroupLinkElement>();

            for (int index = 0; index < this.template.DataView.GroupDescriptors.Count && this.template.ColumnCount > 0; ++index)
            {
                GroupElement groupElement = new GroupElement(this, this.template.DataView.GroupDescriptors[index]);
                groupElement.UpdateGroupingFields();
                if (groupElement.GroupingFieldElements.Count != 0)
                {
                    groupElementList.Add(groupElement);
                    this.Children.Add((RadElement)groupElement);
                    if (index > 0)
                    {
                        GroupLinkElement groupLinkElement = new GroupLinkElement(this);
                        groupLinkElementList.Add(groupLinkElement);
                        this.Children.Add((RadElement)groupLinkElement);
                    }
                }
            }
            this.groupElements = groupElementList.ToArray();
            this.groupLinks    = groupLinkElementList.ToArray();
        }