示例#1
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);
     }
 }
示例#2
0
 internal ShimTableMember(IDefinitionPath parentDefinitionPath, Tablix owner, ShimTableMember parent, int parentCollectionIndex, TableRow staticRow, KeepWithGroup keepWithGroup, bool isFixedTableHeader)
     : base(parentDefinitionPath, owner, parent, parentCollectionIndex, isColumn: false)
 {
     m_innerStaticRow          = staticRow;
     m_rowDefinitionStartIndex = owner.GetAndIncrementMemberCellDefinitionIndex();
     m_rowDefinitionEndIndex   = owner.GetCurrentMemberCellDefinitionIndex();
     m_keepWithGroup           = keepWithGroup;
     m_isFixedHeader           = isFixedTableHeader;
 }
示例#3
0
 internal Group(DataRegion owner, ShimTableMember tableDetailMember)
 {
     m_isOldSnapshot     = true;
     m_isDetailGroup     = true;
     m_tableDetailMember = tableDetailMember;
     m_dynamicMember     = tableDetailMember;
     m_ownerItem         = owner;
     m_renderGroups      = null;
 }
示例#4
0
 internal ShimTableMember(IDefinitionPath parentDefinitionPath, Tablix owner, ShimTableMember parent, int parentCollectionIndex, TableRowsCollection renderRows)
     : base(parentDefinitionPath, owner, parent, parentCollectionIndex, isColumn: false)
 {
     m_rowDefinitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex();
     m_isDetailGroup           = true;
     m_renderDetails           = renderRows;
     m_children = new ShimTableMemberCollection(this, (Tablix)m_owner, this, renderRows[0]);
     m_group    = new Group(owner, this);
     m_rowDefinitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex();
 }
示例#5
0
 internal ShimTableMember(IDefinitionPath parentDefinitionPath, Tablix owner, ShimTableMember parent, int parentCollectionIndex, ShimRenderGroups renderGroups)
     : base(parentDefinitionPath, owner, parent, parentCollectionIndex, isColumn: false)
 {
     m_rowDefinitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex();
     if (renderGroups != null)
     {
         m_children = new ShimTableMemberCollection(this, (Tablix)m_owner, this, (TableGroup)renderGroups[0]);
     }
     m_group = new Group(owner, renderGroups, this);
     m_rowDefinitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex();
 }
示例#6
0
        internal ShimTableMemberCollection(IDefinitionPath parentDefinitionPath, Tablix owner, ShimTableMember parent, TableDetailRowCollection detailRows)
            : base(parentDefinitionPath, owner, isColumnGroup: false)
        {
            m_rowDefinitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex();
            int count = detailRows.Count;

            m_children = new ShimTableMember[count];
            for (int i = 0; i < count; i++)
            {
                m_children[i] = new ShimTableMember(this, owner, parent, i, detailRows[i], KeepWithGroup.None, isFixedTableHeader: false);
            }
            m_rowDefinitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex();
        }
示例#7
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());
        }
示例#8
0
 internal ShimTableMemberCollection(IDefinitionPath parentDefinitionPath, Tablix owner, bool isColumnGroup)
     : base(parentDefinitionPath, owner, isColumnGroup)
 {
     if (m_isColumnGroup)
     {
         int count = owner.RenderTable.Columns.Count;
         m_children = new ShimTableMember[count];
         for (int i = 0; i < count; i++)
         {
             m_children[i] = new ShimTableMember(this, owner, i, owner.RenderTable.Columns);
         }
     }
     else
     {
         m_rowDefinitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex();
         m_children = CreateInnerHierarchy(owner, null, owner.RenderTable.TableHeader, owner.RenderTable.TableFooter, owner.RenderTable.TableGroups, owner.RenderTable.DetailRows, ref m_dynamicSubgroupChildIndex);
         m_rowDefinitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex();
     }
 }
示例#9
0
 internal ShimTableMemberCollection(IDefinitionPath parentDefinitionPath, Tablix owner, ShimTableMember parent, Microsoft.ReportingServices.ReportRendering.TableGroup tableGroup)
     : base(parentDefinitionPath, owner, isColumnGroup: false)
 {
     m_rowDefinitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex();
     m_children = CreateInnerHierarchy(owner, parent, tableGroup.GroupHeader, tableGroup.GroupFooter, tableGroup.SubGroups, tableGroup.DetailRows, ref m_dynamicSubgroupChildIndex);
     m_rowDefinitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex();
 }
示例#10
0
 private void CreateHeaderFooter(List <ShimTableMember> rowGroups, TableHeaderFooterRows headerFooterRows, KeepWithGroup keepWithGroup, Tablix owner, ShimTableMember parent, bool isFixedTableHeader)
 {
     if (headerFooterRows != null)
     {
         int count = headerFooterRows.Count;
         int num   = rowGroups.Count;
         for (int i = 0; i < count; i++)
         {
             rowGroups.Add(new ShimTableMember(this, owner, parent, num, headerFooterRows[i], keepWithGroup, isFixedTableHeader));
             num++;
         }
     }
 }
 public ShimTableMemberVisibility(ShimTableMember owner, Mode mode)
 {
     m_owner = owner;
     m_mode  = mode;
 }