Example #1
0
        public void SortSections(DataTable i_Table, Int32Collection i_InnerRows)
        {
            if (this.SortingBy == SortingByTypes.None)
            {
                return;
            }

            if (this.SectionFilters.Count == 0)
            {
                return;
            }

            SectionGroupInfo sectionGroup = this.Copy() as SectionGroupInfo;

            sectionGroup.SubGroupInfos = null;

            sectionGroup.CalculateGroupResult(i_Table, i_InnerRows, i_InnerRows, sectionGroup);

            sectionGroup.GroupResults.Sort(this.Sorting, this.SortingBy, this.UserDefinedOrders);

            SectionFilterCollection sectionFilters = new SectionFilterCollection();

            foreach (GroupResult result in sectionGroup.GroupResults)
            {
                string name = result.GroupValue.ToString();

                SectionFilter scFilter = sectionGroup.Sections(name);

                sectionFilters.Add(scFilter);
            }

            this.SectionFiltersWrapper = new SectionFilterCollectionWrapper(sectionFilters, ReportScType.Custom);

            this.SectionFilters = sectionFilters;
        }
Example #2
0
        public static ArrayList GetFields(DataTable i_Table, Series series)
        {
            GroupInfo groupInfo;

            if (series.FieldArgument == string.Empty && series.SectionFilters.Count > 0)
            {
                groupInfo = new SectionGroupInfo(series.SectionFilters);
            }
            else
            {
                groupInfo = new FieldGroupInfo(series.FieldArgument);
            }

            Int32Collection rows = series.Filter.GetFilteredRows(i_Table);

            rows = series.MinValueFilter.GetReFilterRows(i_Table, groupInfo, rows);

            ArrayList fields = groupInfo.GetFields(i_Table, rows);

            if (series.MinValueFilter.TotalOther)
            {
                fields.Add(series.MinValueFilter.OtherName);
            }


            return(fields);
        }
Example #3
0
        private GroupInfo CreateGroupInfo(Series series)
        {
            GroupInfo groupInfo;

            if (series.FieldArgument == string.Empty && series.SectionFilters.Count > 0)
            {
                groupInfo = new SectionGroupInfo(series.SectionFilters);
            }
            else
            {
                groupInfo = new FieldGroupInfo(series.FieldArgument);
            }

            groupInfo.Filter = series.Filter.Copy();

            return(groupInfo);
        }
Example #4
0
        public SectionGroupInfo SubSections(int nStart, int nCount)
        {
            int limitEnd = nStart + nCount;

            if (nStart < 0 || nCount < 0 || SectionFilters.Count == 0)
            {
                return(this);
            }

            if (limitEnd > 0)
            {
                limitEnd = Math.Min(limitEnd, SectionFilters.Count);
            }
            else
            {
                return(this);
            }
            if (nCount == 0)
            {
                limitEnd = SectionFilters.Count;
            }
            if (nStart >= limitEnd)
            {
                return(this);
            }

            SectionGroupInfo sectionGroup = this.Copy() as SectionGroupInfo;

            sectionGroup.Apply(this);

            sectionGroup.SectionFilters = new SectionFilterCollection();

            sectionGroup.SectionFiltersWrapper = new SectionFilterCollectionWrapper();

            for (int i = nStart; i < limitEnd; i++)
            {
                SectionFilter scfilter = new SectionFilter();

                scfilter.Apply(SectionFilters[i]);

                sectionGroup.SectionFilters.Add(scfilter);
            }

            return(sectionGroup);
        }
Example #5
0
        public override GroupInfo Copy()
        {
            SectionGroupInfo m_GroupInfo = new SectionGroupInfo();

            m_GroupInfo._AddGroupTotal = this._AddGroupTotal;
            if (this._FollowedSummaries != null)
            {
                m_GroupInfo._FollowedSummaries = this._FollowedSummaries.CopyStructure();
            }
            if (this._TotalSummaries != null)
            {
                m_GroupInfo._TotalSummaries = this._TotalSummaries.CopyStructure();
            }
            if (this._SectionSummeries != null)
            {
                m_GroupInfo._SectionSummeries = this._SectionSummeries.CopyStructure();
            }
            //m_GroupInfo._GroupResults = this._AddGroupTotal;
            m_GroupInfo._GroupTitle    = this._GroupTitle;
            m_GroupInfo.SkippedCount   = this.SkippedCount;
            m_GroupInfo._SortingByType = this._SortingByType;
            m_GroupInfo._SortingType   = this._SortingType;
            m_GroupInfo._TopCount      = this._TopCount;
            m_GroupInfo._GroupTitle    = this._GroupTitle;
            m_GroupInfo._TotalTitle    = this._TotalTitle;
            m_GroupInfo.Style          = this.Style.Copy() as BasicStyle;
            m_GroupInfo._ClickEvent    = this._ClickEvent;
            m_GroupInfo.Filter         = this.Filter.Copy();
            m_GroupInfo._ShowSymbol    = this._ShowSymbol;

            m_GroupInfo.UserDefinedOrders = new UserOrderClS();
            m_GroupInfo.UserDefinedOrders.RelativeGroupInfo = m_GroupInfo;
            foreach (object objValue in this.UserDefinedOrders.OrderValues)
            {
                m_GroupInfo.UserDefinedOrders.OrderValues.Add(objValue);
            }

            m_GroupInfo._OneValuePerPage = this._OneValuePerRow;

            m_GroupInfo._ColumnWidth = this._ColumnWidth;

            m_GroupInfo._FollowSummaries = this._FollowSummaries;

            m_GroupInfo._TitleFormat = this._TitleFormat;

            m_GroupInfo.SectionFilters.Apply(this.SectionFilters);

            m_GroupInfo.ColumnIndex = this.ColumnIndex;                     //Added this code at 2008-12-24 9:17:02@Simon

            m_GroupInfo.SectionFiltersWrapper = this.SectionFiltersWrapper; //Modified at 2009-1-21 13:50:50@Scott

            m_GroupInfo.ReportScType = this.ReportScType;                   //Modified at 2009-1-21 14:05:45@Scott

            m_GroupInfo.ColorNeedChange = this.ColorNeedChange;             //Modified at 2009-2-11 16:15:49@Scott

            m_GroupInfo._GroupSides = this._GroupSides;                     //Add at 2009-2-27 9:33:13@Simon

            m_GroupInfo.Visible = this.Visible;                             //Add at 2009-2-27 11:48:33@Simon

            m_GroupInfo._IsRelatedForSubGroup = this._IsRelatedForSubGroup; //2009-4-8 13:06:10@Simon Add this Code

            m_GroupInfo.ShowSymbol = this.ShowSymbol;

            m_GroupInfo.UseLineBreak = this.UseLineBreak;

            m_GroupInfo.Converted = this.Converted;

            m_GroupInfo.IsSectionOutSide = this.IsSectionOutSide;

            m_GroupInfo.DisplayAsColumn = this.DisplayAsColumn;

            m_GroupInfo.DistinctValues = this.DistinctValues;

            m_GroupInfo.ShowZero = this.ShowZero;

            m_GroupInfo.DisplayAsImage = false;

            return(m_GroupInfo);
        }