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(); }
internal ShimDataMemberCollection(IDefinitionPath parentDefinitionPath, CustomReportItem owner, bool isColumnMember, ShimDataMember parent, DataGroupingCollection definitionGroups) : base(parentDefinitionPath, owner) { m_isColumnMember = isColumnMember; m_definitionGroups = definitionGroups; m_definitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex(); if (definitionGroups[0] != null && definitionGroups[0][0] != null) { m_isStatic = definitionGroups[0][0].IsStatic; } int count = definitionGroups.Count; m_children = new ShimDataMember[count]; for (int i = 0; i < count; i++) { m_children[i] = new ShimDataMember(this, owner, parent, i, m_isColumnMember, m_isStatic, definitionGroups[i], i); } m_definitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); }