示例#1
0
 internal void ResetContext(TableGroupCollection newRenderSubGroups, TableRowsCollection newRenderDetails)
 {
     if (m_isDetailGroup)
     {
         m_group.CurrentRenderGroupIndex = -1;
         _ = m_rowDefinitionEndIndex;
         _ = m_rowDefinitionStartIndex;
         if (newRenderDetails != null)
         {
             m_renderDetails = newRenderDetails;
         }
         ((ShimTableMemberCollection)m_children).UpdateDetails(m_renderDetails[0]);
     }
     else if (m_group != null && m_group.RenderGroups != null)
     {
         m_group.CurrentRenderGroupIndex = -1;
         if (newRenderSubGroups != null)
         {
             m_group.RenderGroups = new ShimRenderGroups(newRenderSubGroups);
         }
         if (m_children != null)
         {
             TableGroup tableGroup = m_group.CurrentShimRenderGroup as TableGroup;
             ((ShimTableMemberCollection)m_children).UpdateHeaderFooter(tableGroup.GroupHeader, tableGroup.GroupFooter);
             ((ShimTableMemberCollection)m_children).ResetContext(null);
         }
     }
     SetNewContext(fromMoveNext: true);
 }
 public void ResetContext(TableGroupCollection newRenderSubGroups, TableRowsCollection newRenderDetails)
 {
     if (this.m_isDetailGroup)
     {
         base.m_group.CurrentRenderGroupIndex = -1;
         if (newRenderDetails != null)
         {
             this.m_renderDetails = newRenderDetails;
         }
         ((ShimTableMemberCollection)base.m_children).UpdateDetails(this.m_renderDetails[0]);
     }
     else if (base.m_group != null && base.m_group.RenderGroups != null)
     {
         base.m_group.CurrentRenderGroupIndex = -1;
         if (newRenderSubGroups != null)
         {
             base.m_group.RenderGroups = new ShimRenderGroups(newRenderSubGroups);
         }
         if (base.m_children != null)
         {
             TableGroup tableGroup = base.m_group.CurrentShimRenderGroup as TableGroup;
             ((ShimTableMemberCollection)base.m_children).UpdateHeaderFooter(tableGroup.GroupHeader, tableGroup.GroupFooter);
             ((ShimTableMemberCollection)base.m_children).ResetContext(null);
         }
     }
     this.SetNewContext(true);
 }
示例#3
0
 private void CreateInnerDynamicGroups(List <ShimTableMember> rowGroups, TableGroupCollection renderGroupCollection, Tablix owner, ShimTableMember parent)
 {
     if (renderGroupCollection != null)
     {
         ShimTableMember item = new ShimTableMember(this, owner, parent, rowGroups.Count, new ShimRenderGroups(renderGroupCollection));
         rowGroups.Add(item);
     }
 }
示例#4
0
 internal ShimRenderGroups(TableGroupCollection renderGroups)
 {
     m_type = DataRegion.Type.Table;
     m_renderTableGroups = renderGroups;
 }
示例#5
0
        private TablixMember[] CreateInnerHierarchy(Tablix owner, ShimTableMember parent, TableHeaderFooterRows headerRows, TableHeaderFooterRows footerRows, TableGroupCollection subGroups, TableRowsCollection detailRows, ref int dynamicSubgroupChildIndex)
        {
            List <ShimTableMember> list = new List <ShimTableMember>();
            bool noKeepWith             = subGroups == null && detailRows == null;

            CreateHeaderFooter(list, headerRows, DetermineKeepWithGroup(isHeader: true, headerRows, noKeepWith), owner, parent, parent == null && owner.RenderTable.FixedHeader);
            if (subGroups != null)
            {
                dynamicSubgroupChildIndex = list.Count;
                CreateInnerDynamicGroups(list, subGroups, owner, parent);
            }
            else if (detailRows != null)
            {
                dynamicSubgroupChildIndex = list.Count;
                list.Add(new ShimTableMember(this, owner, parent, dynamicSubgroupChildIndex, detailRows));
            }
            CreateHeaderFooter(list, footerRows, DetermineKeepWithGroup(isHeader: false, footerRows, noKeepWith), owner, parent, isFixedTableHeader: false);
            return(list.ToArray());
        }
 public ShimRenderGroups(TableGroupCollection renderGroups)
 {
     this.m_type = DataRegion.Type.Table;
     this.m_renderTableGroups = renderGroups;
 }