public TableGroupCollection(Table owner, TableGroup parent, AspNetCore.ReportingServices.ReportProcessing.TableGroup groupDef, TableGroupInstanceList groupInstances) { this.m_owner = owner; this.m_parent = parent; this.m_groupInstances = groupInstances; this.m_groupDef = groupDef; }
public void ResetContext(AspNetCore.ReportingServices.ReportRendering.TableGroup newRenderGroup) { if (base.m_children != null) { for (int i = 0; i < base.m_children.Length; i++) { ((ShimTableMember)base.m_children[i]).ResetContext((newRenderGroup != null) ? newRenderGroup.SubGroups : null, (newRenderGroup != null) ? newRenderGroup.DetailRows : null); } } }
public TableGroup(Table owner, TableGroup parent, AspNetCore.ReportingServices.ReportProcessing.TableGroup groupDef, TableGroupInstance groupInstance) : base(owner, groupDef.Grouping, groupDef.Visibility) { this.m_parent = parent; this.m_groupDef = groupDef; this.m_groupInstance = groupInstance; if (this.m_groupInstance != null) { base.m_uniqueName = this.m_groupInstance.UniqueName; } }
public TableGroup this[int index] { get { if (index >= 0 && index < this.Count) { TableGroup tableGroup = null; if (index == 0) { tableGroup = this.m_firstGroup; } else if (this.m_groups != null) { tableGroup = this.m_groups[index - 1]; } if (tableGroup == null) { TableGroupInstance groupInstance = null; if (this.m_groupInstances != null && index < this.m_groupInstances.Count) { groupInstance = this.m_groupInstances[index]; } else { Global.Tracer.Assert(this.m_groupInstances == null || 0 == this.m_groupInstances.Count); } tableGroup = new TableGroup(this.m_owner, this.m_parent, this.m_groupDef, groupInstance); if (this.m_owner.RenderingContext.CacheState) { if (index == 0) { this.m_firstGroup = tableGroup; } else { if (this.m_groups == null) { this.m_groups = new TableGroup[this.m_groupInstances.Count - 1]; } this.m_groups[index - 1] = tableGroup; } } } return(tableGroup); } throw new RenderingObjectModelException(ProcessingErrorCode.rsInvalidParameterRange, index, 0, this.Count); } }
private void AppendTableGroups(AspNetCore.ReportingServices.ReportRendering.TableGroup renderGroup) { if (renderGroup != null) { this.AppendTableRows(renderGroup.GroupHeader); if (renderGroup.SubGroups != null) { this.AppendTableGroups(renderGroup.SubGroups[0]); } else if (renderGroup.DetailRows != null) { this.AppendTableRows(renderGroup.DetailRows[0]); } this.AppendTableRows(renderGroup.GroupFooter); } }
private static bool SearchFullTableGroup(TableGroup tableGroup, TableColumnCollection columns, SearchContext searchContext) { bool result = false; if (tableGroup != null && !tableGroup.Hidden) { result = Table.SearchTableRows(tableGroup.GroupHeader, columns, searchContext); if (!result) { TableGroupCollection subGroups = tableGroup.SubGroups; if (subGroups != null) { int num = 0; while (!result && num < subGroups.Count) { result = Table.SearchFullTableGroup(subGroups[num], columns, searchContext); num++; } } else { TableRowsCollection detailRows = tableGroup.DetailRows; if (detailRows != null) { int num2 = 0; while (!result && num2 < detailRows.Count) { result = Table.SearchTableRows(detailRows[num2], columns, searchContext); num2++; } } } } if (!result) { result = Table.SearchTableRows(tableGroup.GroupFooter, columns, searchContext); } return(result); } return(result); }
private static bool SearchPartialTableGroup(TableGroup group, TableColumnCollection columns, SearchContext searchContext) { TableHeaderFooterRows tableHeaderFooterRows = null; bool flag = false; SearchContext searchContext2 = new SearchContext(searchContext); tableHeaderFooterRows = group.GroupHeader; if (tableHeaderFooterRows != null) { if (searchContext.SearchPage == searchContext.ItemStartPage || tableHeaderFooterRows.RepeatOnNewPage) { flag = Table.SearchTableRows(tableHeaderFooterRows, columns, searchContext2); } if (flag) { return(true); } } TableGroupCollection subGroups = group.SubGroups; if (subGroups != null) { int num = 0; int num2 = 0; int num3 = -1; int num4 = -1; group.GetSubGroupsOnPage(searchContext.SearchPage, out num, out num2); if (num >= 0) { SearchContext searchContext3 = new SearchContext(searchContext); group.IsGroupOnThisPage(num, searchContext.SearchPage, out num3, out num4); TableGroup tableGroup = subGroups[num]; if (num3 != num4) { searchContext3.ItemStartPage = num3; searchContext3.ItemEndPage = num4; flag = Table.SearchPartialTableGroup(tableGroup, columns, searchContext3); } else { flag = Table.SearchFullTableGroup(tableGroup, columns, searchContext2); } num++; while (!flag && num < num2) { tableGroup = subGroups[num]; flag = Table.SearchFullTableGroup(tableGroup, columns, searchContext2); num++; } if (!flag && num == num2) { tableGroup = subGroups[num]; group.IsGroupOnThisPage(num, searchContext.SearchPage, out num3, out num4); if (num3 != num4) { searchContext3.ItemStartPage = num3; searchContext3.ItemEndPage = num4; flag = Table.SearchPartialTableGroup(tableGroup, columns, searchContext3); } else { flag = Table.SearchFullTableGroup(tableGroup, columns, searchContext2); } } } } else { TableRowsCollection detailRows = group.DetailRows; if (detailRows != null) { int num5 = 0; int num6 = 0; int num7 = 0; group.GetDetailsOnThisPage(searchContext.SearchPage - searchContext.ItemStartPage, out num5, out num6); if (num5 >= 0) { num7 = num5 + num6 - 1; while (!flag && num5 <= num7) { flag = Table.SearchTableRows(detailRows[num5], columns, searchContext2); num5++; } } } } if (flag) { return(true); } tableHeaderFooterRows = group.GroupFooter; if (tableHeaderFooterRows != null && (tableHeaderFooterRows.RepeatOnNewPage || searchContext.ItemEndPage == searchContext.SearchPage)) { flag = Table.SearchTableRows(tableHeaderFooterRows, columns, searchContext2); } return(flag); }
public ShimTableMemberCollection(IDefinitionPath parentDefinitionPath, Tablix owner, ShimTableMember parent, AspNetCore.ReportingServices.ReportRendering.TableGroup tableGroup) : base(parentDefinitionPath, owner, false) { this.m_rowDefinitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex(); base.m_children = this.CreateInnerHierarchy(owner, parent, tableGroup.GroupHeader, tableGroup.GroupFooter, tableGroup.SubGroups, tableGroup.DetailRows, ref this.m_dynamicSubgroupChildIndex); this.m_rowDefinitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); }