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; }
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); }
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); }
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); }
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); }