internal TablixCornerRow(Tablix owner, int rowIndex, List <Microsoft.ReportingServices.ReportIntermediateFormat.TablixCornerCell> rowDef) { m_owner = owner; m_rowIndex = rowIndex; m_rowDef = rowDef; m_cellROMDefs = new TablixCornerCell[rowDef.Count]; }
internal ShimTableRow(Tablix owner, int rowIndex, Microsoft.ReportingServices.ReportRendering.TableRow renderRow) : base(owner, rowIndex) { m_cells = new List <ShimTableCell>(); m_height = new ReportSize(renderRow.Height); TableCellCollection tableCellCollection = renderRow.TableCellCollection; if (tableCellCollection == null) { return; } int count = tableCellCollection.Count; m_rowCellDefinitionMapping = new int[owner.RenderTable.Columns.Count]; int num = 0; for (int i = 0; i < count; i++) { int colSpan = tableCellCollection[i].ColSpan; for (int j = 0; j < colSpan; j++) { m_rowCellDefinitionMapping[num] = ((j == 0) ? i : (-1)); num++; } m_cells.Add(new ShimTableCell(owner, rowIndex, i, colSpan, tableCellCollection[i].ReportItem)); } }
internal ShimTableMember(IDefinitionPath parentDefinitionPath, Tablix owner, int columnIndex, TableColumnCollection columns) : base(parentDefinitionPath, owner, null, columnIndex, isColumn: true) { m_column = columns[columnIndex]; m_isFixedHeader = m_column.FixedHeader; m_rowDefinitionStartIndex = (m_rowDefinitionEndIndex = columnIndex); }
internal TablixCell(Cell cell, Tablix owner, int rowIndex, int colIndex) { m_cell = cell; m_owner = owner; m_rowIndex = rowIndex; m_columnIndex = colIndex; }
internal TablixCornerRow(Tablix owner, int rowIndex, Microsoft.ReportingServices.ReportRendering.ReportItem cornerDef) { m_owner = owner; m_rowIndex = rowIndex; m_cornerDef = cornerDef; m_cellROMDefs = new TablixCornerCell[m_owner.Rows]; }
internal TablixCornerCell(Tablix owner, int rowIndex, int colIndex, Microsoft.ReportingServices.ReportIntermediateFormat.TablixCornerCell cellDef) { m_owner = owner; m_rowIndex = rowIndex; m_columnIndex = colIndex; m_cellDef = cellDef; }
private void VisitTablix(Microsoft.ReportingServices.OnDemandReportRendering.Tablix tablixDef) { if (tablixDef.Corner != null) { TablixCornerRowCollection rowCollection = tablixDef.Corner.RowCollection; for (int i = 0; i < rowCollection.Count; i++) { TablixCornerRow tablixCornerRow = rowCollection[i]; if (tablixCornerRow == null) { continue; } for (int j = 0; j < tablixCornerRow.Count; j++) { Microsoft.ReportingServices.OnDemandReportRendering.TablixCornerCell tablixCornerCell = tablixCornerRow[j]; if (tablixCornerCell != null) { Visit(tablixCornerCell.CellContents.ReportItem); } } } } VisitTablixMemberCollection(tablixDef.ColumnHierarchy.MemberCollection, -1, isTopLevel: true); VisitTablixMemberCollection(tablixDef.RowHierarchy.MemberCollection, -1, isTopLevel: true); }
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(); }
internal TablixCornerCell(Tablix owner, int rowIndex, int colIndex, Microsoft.ReportingServices.ReportRendering.ReportItem cornerReportItem) { m_owner = owner; m_rowIndex = rowIndex; m_columnIndex = colIndex; m_cornerReportItem = cornerReportItem; }
internal static ReportItem CreateItem(IReportScope reportScope, IDefinitionPath parentDefinitionPath, int indexIntoParentCollectionDef, Microsoft.ReportingServices.ReportIntermediateFormat.ReportItem reportItemDef, RenderingContext renderingContext) { ReportItem reportItem = null; switch (reportItemDef.ObjectType) { case ObjectType.Textbox: reportItem = new TextBox(reportScope, parentDefinitionPath, indexIntoParentCollectionDef, (Microsoft.ReportingServices.ReportIntermediateFormat.TextBox)reportItemDef, renderingContext); break; case ObjectType.Rectangle: reportItem = new Rectangle(reportScope, parentDefinitionPath, indexIntoParentCollectionDef, (Microsoft.ReportingServices.ReportIntermediateFormat.Rectangle)reportItemDef, renderingContext); break; case ObjectType.Image: reportItem = new Image(reportScope, parentDefinitionPath, indexIntoParentCollectionDef, (Microsoft.ReportingServices.ReportIntermediateFormat.Image)reportItemDef, renderingContext); break; case ObjectType.Line: reportItem = new Line(reportScope, parentDefinitionPath, indexIntoParentCollectionDef, (Microsoft.ReportingServices.ReportIntermediateFormat.Line)reportItemDef, renderingContext); break; case ObjectType.Subreport: reportItem = new SubReport(reportScope, parentDefinitionPath, indexIntoParentCollectionDef, (Microsoft.ReportingServices.ReportIntermediateFormat.SubReport)reportItemDef, renderingContext); break; case ObjectType.Tablix: reportItem = new Tablix(parentDefinitionPath, indexIntoParentCollectionDef, (Microsoft.ReportingServices.ReportIntermediateFormat.Tablix)reportItemDef, renderingContext); break; case ObjectType.Chart: reportItem = new Chart(parentDefinitionPath, indexIntoParentCollectionDef, (Microsoft.ReportingServices.ReportIntermediateFormat.Chart)reportItemDef, renderingContext); break; case ObjectType.GaugePanel: reportItem = new GaugePanel(parentDefinitionPath, indexIntoParentCollectionDef, (Microsoft.ReportingServices.ReportIntermediateFormat.GaugePanel)reportItemDef, renderingContext); break; case ObjectType.CustomReportItem: { Microsoft.ReportingServices.ReportIntermediateFormat.CustomReportItem customReportItem = (Microsoft.ReportingServices.ReportIntermediateFormat.CustomReportItem)reportItemDef; reportItem = new CustomReportItem(reportScope, parentDefinitionPath, indexIntoParentCollectionDef, customReportItem, renderingContext); if (!((CustomReportItem)reportItem).Initialize(renderingContext)) { reportItem = CreateItem(reportScope, parentDefinitionPath, customReportItem.AltReportItemIndexInParentCollectionDef, customReportItem.AltReportItem, renderingContext); reportItem.ReportItemDef.RepeatedSibling = customReportItem.RepeatedSibling; reportItem.ReportItemDef.RepeatWith = customReportItem.RepeatWith; ProcessAlternateCustomReportItem(customReportItem, reportItem, renderingContext); } break; } case ObjectType.Map: reportItem = new Map(reportScope, parentDefinitionPath, indexIntoParentCollectionDef, (Microsoft.ReportingServices.ReportIntermediateFormat.Map)reportItemDef, renderingContext); break; } return(reportItem); }
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; }
private static void CollectTextBoxes(Microsoft.ReportingServices.OnDemandReportRendering.Tablix tablix, PageContext pageContext, bool useForPageHFEval, Dictionary <string, List <object> > textBoxes) { if (tablix != null && useForPageHFEval && ShouldBeCollected(tablix)) { TablixInstance tablixInstance = (TablixInstance)tablix.Instance; CollectTablixMembersContents(tablix, null, -1, TablixState.ColMembers, tablixInstance.NoRows, pageContext, useForPageHFEval: true, textBoxes); CollectTablixMembersContents(tablix, null, 0, TablixState.RowMembers, tablixInstance.NoRows, pageContext, useForPageHFEval: true, textBoxes); } }
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(); }
internal ShimMatrixMember(IDefinitionPath parentDefinitionPath, Tablix owner, ShimMatrixMember parent, int parentCollectionIndex, bool isColumn, int renderCollectionIndex, ShimRenderGroups renderGroups, MatrixMemberInfoCache matrixMemberCellIndexes) : base(parentDefinitionPath, owner, parent, parentCollectionIndex, isColumn) { m_renderCollectionIndex = renderCollectionIndex; m_currentMatrixMemberCellIndexes = matrixMemberCellIndexes; m_definitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex(); m_group = new Group(owner, renderGroups, this); GenerateInnerHierarchy(owner, parent, isColumn, ((MatrixMember)m_group.CurrentShimRenderGroup).Children); m_definitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); }
internal static void AddDetailCellToCurrentPage(Microsoft.ReportingServices.OnDemandReportRendering.Tablix tablix, int colMemberIndexCell, int rowMemberIndexCell, PageContext context, bool useForPageHFEval, Interactivity interactivity) { if (rowMemberIndexCell >= 0) { TablixCell tablixCell = tablix.Body.RowCollection[rowMemberIndexCell][colMemberIndexCell]; if (tablixCell != null && tablixCell.CellContents != null) { RegisterItem.RegisterHiddenItem(tablixCell.CellContents.ReportItem, context, useForPageHFEval, interactivity); } } }
private static void CollectDetailCellContents(Microsoft.ReportingServices.OnDemandReportRendering.Tablix tablix, int colMemberIndexCell, int rowMemberIndexCell, PageContext context, bool useForPageHFEval, Dictionary <string, List <object> > textBoxes) { if (rowMemberIndexCell >= 0) { TablixCell tablixCell = tablix.Body.RowCollection[rowMemberIndexCell][colMemberIndexCell]; if (tablixCell != null && tablixCell.CellContents != null) { CollectTextBoxes(tablixCell.CellContents.ReportItem, context, useForPageHFEval, textBoxes); } } }
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(); }
internal ShimMatrixMember(IDefinitionPath parentDefinitionPath, Tablix owner, ShimMatrixMember parent, int parentCollectionIndex, bool isColumn, int renderCollectionIndex, MatrixMember staticOrSubtotal, bool isAfterSubtotal, MatrixMemberInfoCache matrixMemberCellIndexes) : base(parentDefinitionPath, owner, parent, parentCollectionIndex, isColumn) { m_renderCollectionIndex = renderCollectionIndex; m_isAfterSubtotal = isAfterSubtotal; m_currentMatrixMemberCellIndexes = matrixMemberCellIndexes; m_definitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex(); m_staticOrSubtotal = staticOrSubtotal; GenerateInnerHierarchy(owner, parent, isColumn, staticOrSubtotal.Children); m_definitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); }
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(); }
internal ShimTableRowCollection(Tablix owner) : base(owner) { m_rows = new List <TablixRow>(); AppendTableRows(owner.RenderTable.TableHeader); if (owner.RenderTable.TableGroups != null) { AppendTableGroups(owner.RenderTable.TableGroups[0]); } else if (owner.RenderTable.DetailRows != null) { AppendTableRows(owner.RenderTable.DetailRows[0]); } AppendTableRows(owner.RenderTable.TableFooter); }
internal InternalTablixMember(IReportScope reportScope, IDefinitionPath parentDefinitionPath, Tablix owner, TablixMember parent, Microsoft.ReportingServices.ReportIntermediateFormat.TablixMember memberDef, int index) : base(parentDefinitionPath, owner, parent, index) { if (memberDef.IsStatic) { m_reportScope = reportScope; } m_owner = owner; m_memberDef = memberDef; if (m_memberDef.Grouping != null) { m_group = new Group(base.OwnerTablix, m_memberDef, this); } m_memberDef.ROMScopeInstance = ReportScope.ReportScopeInstance; m_memberDef.ResetVisibilityComputationCache(); }
private static void RegisterHiddenItem(Microsoft.ReportingServices.OnDemandReportRendering.Tablix tablix, PageContext pageContext, bool useForPageHFEval, Interactivity interactivity) { if (tablix != null) { bool flag = false; if (useForPageHFEval) { flag = HeaderFooterEval.AddToCurrentPage(tablix); } if (flag || interactivity != null) { TablixInstance tablixInstance = (TablixInstance)tablix.Instance; WalkTablix.AddMembersToCurrentPage(tablix, null, -1, WalkTablix.State.ColMembers, createDetail: false, tablixInstance.NoRows, pageContext, flag, interactivity); WalkTablix.AddMembersToCurrentPage(tablix, null, 0, WalkTablix.State.RowMembers, createDetail: true, tablixInstance.NoRows, pageContext, flag, interactivity); } } }
internal static ReportItem CreateShim(IDefinitionPath parentDefinitionPath, int indexIntoParentCollectionDef, bool inSubtotal, Microsoft.ReportingServices.ReportRendering.ReportItem renderReportItem, RenderingContext renderingContext) { ReportItem result = null; if (renderReportItem is Microsoft.ReportingServices.ReportRendering.TextBox) { result = new TextBox(parentDefinitionPath, indexIntoParentCollectionDef, inSubtotal, (Microsoft.ReportingServices.ReportRendering.TextBox)renderReportItem, renderingContext); } else if (renderReportItem is Microsoft.ReportingServices.ReportRendering.Rectangle) { result = new Rectangle(parentDefinitionPath, indexIntoParentCollectionDef, inSubtotal, (Microsoft.ReportingServices.ReportRendering.Rectangle)renderReportItem, renderingContext); } else if (renderReportItem is Microsoft.ReportingServices.ReportRendering.Image) { result = new Image(parentDefinitionPath, indexIntoParentCollectionDef, inSubtotal, (Microsoft.ReportingServices.ReportRendering.Image)renderReportItem, renderingContext); } else if (renderReportItem is Microsoft.ReportingServices.ReportRendering.List) { result = new Tablix(parentDefinitionPath, indexIntoParentCollectionDef, inSubtotal, (Microsoft.ReportingServices.ReportRendering.List)renderReportItem, renderingContext); } else if (renderReportItem is Microsoft.ReportingServices.ReportRendering.Table) { result = new Tablix(parentDefinitionPath, indexIntoParentCollectionDef, inSubtotal, (Microsoft.ReportingServices.ReportRendering.Table)renderReportItem, renderingContext); } else if (renderReportItem is Microsoft.ReportingServices.ReportRendering.Matrix) { result = new Tablix(parentDefinitionPath, indexIntoParentCollectionDef, inSubtotal, (Microsoft.ReportingServices.ReportRendering.Matrix)renderReportItem, renderingContext); } else if (renderReportItem is Microsoft.ReportingServices.ReportRendering.Chart) { result = new Chart(parentDefinitionPath, indexIntoParentCollectionDef, inSubtotal, (Microsoft.ReportingServices.ReportRendering.Chart)renderReportItem, renderingContext); } else if (renderReportItem is Microsoft.ReportingServices.ReportRendering.CustomReportItem) { result = new CustomReportItem(parentDefinitionPath, indexIntoParentCollectionDef, inSubtotal, (Microsoft.ReportingServices.ReportRendering.CustomReportItem)renderReportItem, renderingContext); } else if (renderReportItem is Microsoft.ReportingServices.ReportRendering.SubReport) { result = new SubReport(parentDefinitionPath, indexIntoParentCollectionDef, inSubtotal, (Microsoft.ReportingServices.ReportRendering.SubReport)renderReportItem, renderingContext); } else if (renderReportItem is Microsoft.ReportingServices.ReportRendering.Line) { result = new Line(parentDefinitionPath, indexIntoParentCollectionDef, inSubtotal, (Microsoft.ReportingServices.ReportRendering.Line)renderReportItem, renderingContext); } return(result); }
private void GenerateInnerHierarchy(Tablix owner, ShimMatrixMember parent, bool isColumn, MatrixMemberCollection children) { if (children != null) { MatrixMemberInfoCache matrixMemberInfoCache = null; if (m_isColumn) { matrixMemberInfoCache = ((children.MatrixHeadingDef.SubHeading == null) ? new MatrixMemberInfoCache((m_staticOrSubtotal != null) ? m_staticOrSubtotal.MemberCellIndex : AdjustedRenderCollectionIndex, -1) : new MatrixMemberInfoCache(-1, children.Count)); m_currentMatrixMemberCellIndexes.Children[AdjustedRenderCollectionIndex] = matrixMemberInfoCache; } m_children = new ShimMatrixMemberCollection(this, owner, isColumn, this, children, matrixMemberInfoCache); } else { owner.GetAndIncrementMemberCellDefinitionIndex(); } }
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()); }
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(); } }
internal static bool AddToCurrentPage(Microsoft.ReportingServices.OnDemandReportRendering.Tablix tablix) { TablixInstance tablixInstance = (TablixInstance)tablix.Instance; if (tablixInstance.NoRows) { if (tablix.NoRowsMessage != null) { string text = null; text = ((!tablix.NoRowsMessage.IsExpression) ? tablix.NoRowsMessage.Value : tablixInstance.NoRowsMessage); if (text != null) { return(false); } } if (tablix.HideStaticsIfNoRows) { return(false); } } return(true); }
internal TablixBody(Tablix owner) { m_owner = owner; }
internal ShimListMemberCollection(IDefinitionPath parentDefinitionPath, Tablix owner, ListContentCollection renderListContents) : base(parentDefinitionPath, owner, isColumnGroup: false) { m_renderGroups = new ShimRenderGroups(renderListContents); }
internal ShimListMemberCollection(IDefinitionPath parentDefinitionPath, Tablix owner) : base(parentDefinitionPath, owner, isColumnGroup: true) { }