internal ShimDataMember(IDefinitionPath parentDefinitionPath, CustomReportItem owner, ShimDataMember parent, int parentCollectionIndex, bool isColumn, bool isStatic, Microsoft.ReportingServices.ReportRendering.DataMemberCollection renderMembers, int staticIndex) : base(parentDefinitionPath, owner, parent, parentCollectionIndex) { m_definitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex(); m_isColumn = isColumn; m_isStatic = isStatic; m_renderMembers = renderMembers; m_staticIndex = staticIndex; DataGroupingCollection children; if (isStatic) { children = renderMembers[staticIndex].Children; } else { m_group = new Group(owner, new ShimRenderGroups(renderMembers)); children = renderMembers[0].Children; } if (children != null) { m_children = new ShimDataMemberCollection(this, owner, isColumn, this, children); } else { owner.GetAndIncrementMemberCellDefinitionIndex(); } m_definitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); }
private void AppendDataRows(ShimDataMember rowParentMember, ShimDataMemberCollection rowMembers) { if (rowMembers == null) { m_dataRows.Add(new ShimDataRow(m_owner, m_dataRows.Count, rowParentMember)); return; } int count = rowMembers.Count; for (int i = 0; i < count; i++) { ShimDataMember shimDataMember = rowMembers[i] as ShimDataMember; AppendDataRows(shimDataMember, shimDataMember.Children as ShimDataMemberCollection); } }
private void GenerateDataCells(ShimDataMember rowParentMember, ShimDataMember columnParentMember, ShimDataMemberCollection columnMembers) { if (columnMembers == null) { m_cells.Add(new ShimDataCell(m_owner, m_rowIndex, m_cells.Count, rowParentMember, columnParentMember)); return; } int count = columnMembers.Count; for (int i = 0; i < count; i++) { ShimDataMember shimDataMember = columnMembers[i] as ShimDataMember; GenerateDataCells(rowParentMember, shimDataMember, shimDataMember.Children as ShimDataMemberCollection); } }