internal void UpdateCells(ShimDataMember innermostMember) { if (innermostMember == null || innermostMember.Children != null) { return; } if (!innermostMember.IsColumn) { int memberCellIndex = innermostMember.MemberCellIndex; int count = m_dataRows[memberCellIndex].Count; for (int i = 0; i < count; i++) { ((ShimDataCell)m_dataRows[memberCellIndex][i]).SetNewContext(); } } else { int memberCellIndex2 = innermostMember.MemberCellIndex; int count2 = m_dataRows.Count; for (int j = 0; j < count2; j++) { ((ShimDataCell)m_dataRows[j][memberCellIndex2]).SetNewContext(); } } }
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); } }
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(); }
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 ShimDataCell(CustomReportItem owner, int rowIndex, int colIndex, ShimDataMember rowParentMember, ShimDataMember columnParentMember) : base(owner, rowIndex, colIndex) { m_rowParentMember = rowParentMember; m_columnParentMember = columnParentMember; }
internal ShimDataRow(CustomReportItem owner, int rowIndex, ShimDataMember parentDataMember) : base(owner, rowIndex) { m_cells = new List <ShimDataCell>(); GenerateDataCells(parentDataMember, null, owner.CustomData.DataColumnHierarchy.MemberCollection as ShimDataMemberCollection); }