public void Deserialize(IntermediateFormatReader reader) { reader.RegisterDeclaration(m_Declaration); while (reader.NextMember()) { switch (reader.CurrentMember.MemberName) { case MemberName.Hidden: m_hidden = (ExpressionInfo)reader.ReadRIFObject(); break; case MemberName.Toggle: m_toggle = reader.ReadString(); break; case MemberName.RecursiveReceiver: m_recursiveReceiver = reader.ReadBoolean(); break; case MemberName.ToggleSender: m_toggleSender = reader.ReadReference <TextBox>(this); break; case MemberName.RecursiveMember: m_recursiveMember = reader.ReadReference <TablixMember>(this); break; default: Global.Tracer.Assert(condition: false); break; } } }
public void ResolveReferences(Dictionary <Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.ObjectType, List <MemberReference> > memberReferencesCollection, Dictionary <int, IReferenceable> referenceableItems) { if (!memberReferencesCollection.TryGetValue(m_Declaration.ObjectType, out List <MemberReference> value)) { return; } foreach (MemberReference item in value) { switch (item.MemberName) { case MemberName.ToggleSender: { if (referenceableItems.TryGetValue(item.RefID, out IReferenceable value3)) { m_toggleSender = (value3 as TextBox); } break; } case MemberName.RecursiveMember: { if (referenceableItems.TryGetValue(item.RefID, out IReferenceable value2)) { m_recursiveMember = (value2 as TablixMember); } break; } default: Global.Tracer.Assert(condition: false); break; } } }
public Rdl.TablixType CreateTable() { Tablix table = new Tablix(); table.Style = new Style { Border = new Border { Style = "Solid" }.Create() }.Create(); table.TablixBody = new TablixBody().Create(); TablixBody tableBody = new TablixBody(); tableBody.TablixColumns = new TablixColumnsType[] { CreateTablixColumns() }; TablixRows rows = new TablixRows(); List<TablixRowType> rowList = new List<TablixRowType>(); TablixMembersType m_rowHierarchy = new TablixMembersType(); List<TablixMemberType> members = new List<TablixMemberType>(); if (ShowHeader) { rowList.Add( CreateHeaderTableRow()); TablixMember m = new TablixMember(); m.KeepWithGroup = TablixMemberTypeKeepWithGroup.After; members.Add(m.Create()); } if (ShowDetails) { rowList.Add(CreateTableRow()); //����Ϊ��ϸ TablixMember m = new TablixMember(); GroupType g = new GroupType(); g.Name = "��ϸ��Ϣ"; m.Group = g; TablixMembersType childMembers = new TablixMembersType(); TablixMember childMember = new TablixMember(); childMembers.TablixMember = new TablixMemberType[] { childMember.Create() }; m.TablixMembers=childMembers; members.Add(m.Create()); } rows.TablixRow = rowList.ToArray(); //<TablixRowHierarchy> m_rowHierarchy.TablixMember = members.ToArray(); TablixHierarchy rowHierarchy = new TablixHierarchy(); rowHierarchy.TablixMembers = new TablixMembersType[] { m_rowHierarchy }; table.TablixRowHierarchy = rowHierarchy.Create(); //if (Parent.Grouping!=null) //{ // table.TableGroups = CreateTableGroups(); //} tableBody.TablixRows = new TablixRowsType[]{ rows.Create()}; table.TablixBody = tableBody.Create(); //<TablixColumnHierarchy> table.TablixColumnHierarchy = CreateTablixColumnHierarchy(); table.Top = "0.2mm"; table.Left = Parent.LeftMargin.ToString() + "mm"; return table.Create(TableName); }
private static bool ShouldBeCollected(TablixMember tablixMember, ref bool useForPageHFEval) { if (useForPageHFEval && tablixMember.Visibility != null && tablixMember.Visibility.ToggleItem == null && tablixMember.Visibility.Hidden.IsExpression && tablixMember.Instance.Visibility.CurrentlyHidden) { useForPageHFEval = false; } if (useForPageHFEval) { return(true); } return(false); }
private static bool WalkTablixMember(TablixMember tablixMember, ref bool useForPageHFEval, Interactivity interactivity) { if (useForPageHFEval && tablixMember.Visibility != null && tablixMember.Visibility.ToggleItem == null && tablixMember.Visibility.Hidden.IsExpression && tablixMember.Instance.Visibility.CurrentlyHidden) { useForPageHFEval = false; } if (useForPageHFEval || interactivity != null) { return(true); } return(false); }
private static void DumpTablixMembers(List <TablixColumn> tablixColumns, Queue <TablixMember> members, StreamWriter stream, int lastLevel, int index) { if (members.Count == 0) { stream.Write("</tr>"); } else { TablixMember tablixMember = members.Dequeue(); if (tablixMember.HeaderLevel > lastLevel) { stream.Write("</tr><tr>"); lastLevel = tablixMember.HeaderLevel; } if (tablixMember.ID > -1) { SupportabilityRIFVisualizer.DumpTablixMember(tablixMember, stream); } if (tablixMember.SubMembers != null) { if (tablixMember.RowSpan > 1) { if (tablixMember.ID > -1) { TablixMember tablixMember2 = new TablixMember(); tablixMember2.SubMembers = new TablixMemberList(); tablixMember2.RowSpan = tablixMember.RowSpan - 1; tablixMember2.ID = -1; tablixMember2.HeaderLevel = tablixMember.HeaderLevel + 1; members.Enqueue(tablixMember2); foreach (TablixMember subMember in tablixMember.SubMembers) { tablixMember2.SubMembers.Add(subMember); } } else { tablixMember.RowSpan--; members.Enqueue(tablixMember); } } else { foreach (TablixMember subMember2 in tablixMember.SubMembers) { members.Enqueue(subMember2); } } } SupportabilityRIFVisualizer.DumpTablixMembers(tablixColumns, members, stream, lastLevel, index); } }
public override void ResolveReferences(Dictionary <AspNetCore.ReportingServices.ReportIntermediateFormat.Persistence.ObjectType, List <MemberReference> > memberReferencesCollection, Dictionary <int, IReferenceable> referenceableItems) { base.ResolveReferences(memberReferencesCollection, referenceableItems); List <MemberReference> list = default(List <MemberReference>); if (memberReferencesCollection.TryGetValue(TextBox.m_Declaration.ObjectType, out list)) { foreach (MemberReference item in list) { switch (item.MemberName) { case MemberName.ContainingScopes: if (this.m_containingScopes == null) { this.m_containingScopes = new GroupingList(); } if (item.RefID != -2) { Global.Tracer.Assert(referenceableItems.ContainsKey(item.RefID)); Global.Tracer.Assert(referenceableItems[item.RefID] is Grouping); Global.Tracer.Assert(!this.m_containingScopes.Contains((Grouping)referenceableItems[item.RefID])); this.m_containingScopes.Add((Grouping)referenceableItems[item.RefID]); } else { this.m_containingScopes.Add(null); } break; case MemberName.RecursiveMember: { IReferenceable referenceable = default(IReferenceable); if (referenceableItems.TryGetValue(item.RefID, out referenceable)) { this.m_recursiveMember = (referenceable as TablixMember); } break; } default: Global.Tracer.Assert(false); break; } } } }
public override void ResolveReferences(Dictionary <Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.ObjectType, List <MemberReference> > memberReferencesCollection, Dictionary <int, IReferenceable> referenceableItems) { base.ResolveReferences(memberReferencesCollection, referenceableItems); if (!memberReferencesCollection.TryGetValue(m_Declaration.ObjectType, out List <MemberReference> value)) { return; } foreach (MemberReference item in value) { switch (item.MemberName) { case MemberName.ContainingScopes: if (m_containingScopes == null) { m_containingScopes = new GroupingList(); } if (item.RefID != -2) { Global.Tracer.Assert(referenceableItems.ContainsKey(item.RefID)); Global.Tracer.Assert(referenceableItems[item.RefID] is Grouping); Global.Tracer.Assert(!m_containingScopes.Contains((Grouping)referenceableItems[item.RefID])); m_containingScopes.Add((Grouping)referenceableItems[item.RefID]); } else { m_containingScopes.Add(null); } break; case MemberName.RecursiveMember: { if (referenceableItems.TryGetValue(item.RefID, out IReferenceable value2)) { m_recursiveMember = (value2 as TablixMember); } break; } default: Global.Tracer.Assert(condition: false); break; } } }
private void GetItemIdAndName(object item, out string id, out string name) { if (item is PageItem) { PageItem pageItem = (PageItem)item; id = pageItem.Source.ID; name = pageItem.Source.Name; } else if (item is TablixMember) { TablixMember tablixMember = (TablixMember)item; id = tablixMember.ID; name = tablixMember.Group.Name; } else { id = ""; name = "ItemTypeNotFound"; } }
public static string BuildTablixMemberPath(string tablixName, TablixMember tablixMember, Hashtable memberAtLevelIndexes) { bool isColumn = tablixMember.IsColumn; StringBuilder stringBuilder = new StringBuilder(); do { int value = -1; object obj = memberAtLevelIndexes[tablixMember.DefinitionPath]; if (obj != null) { value = (int)obj; } stringBuilder.Insert(0, ")"); if (tablixMember.Group != null) { stringBuilder.Insert(0, tablixMember.Group.Name); } else { stringBuilder.Insert(0, "Static"); } stringBuilder.Insert(0, "("); stringBuilder.Insert(0, value); stringBuilder.Insert(0, "."); tablixMember = tablixMember.Parent; }while (tablixMember != null); if (isColumn) { stringBuilder.Insert(0, ".CH"); } else { stringBuilder.Insert(0, ".RH"); } stringBuilder.Insert(0, tablixName); return(stringBuilder.ToString()); }
public void ResolveReferences(Dictionary <AspNetCore.ReportingServices.ReportIntermediateFormat.Persistence.ObjectType, List <MemberReference> > memberReferencesCollection, Dictionary <int, IReferenceable> referenceableItems) { List <MemberReference> list = default(List <MemberReference>); if (memberReferencesCollection.TryGetValue(Visibility.m_Declaration.ObjectType, out list)) { foreach (MemberReference item in list) { switch (item.MemberName) { case MemberName.ToggleSender: { IReferenceable referenceable2 = default(IReferenceable); if (referenceableItems.TryGetValue(item.RefID, out referenceable2)) { this.m_toggleSender = (referenceable2 as TextBox); } break; } case MemberName.RecursiveMember: { IReferenceable referenceable = default(IReferenceable); if (referenceableItems.TryGetValue(item.RefID, out referenceable)) { this.m_recursiveMember = (referenceable as TablixMember); } break; } default: Global.Tracer.Assert(false); break; } } } }
public bool HasStaticPeerWithHeader(TablixMember member, out int spanDifference) { spanDifference = 0; if (member.HeaderLevel == -1) { return(false); } int num = member.HeaderLevel + (member.IsColumn ? member.RowSpan : member.ColSpan); Global.Tracer.Assert(num <= this.m_headerLevelHasStaticArray.Length, "(count <= m_headerLevelHasStaticArray.Length)"); for (int i = member.HeaderLevel; i < num; i++) { if (this.m_headerLevelHasStaticArray[i]) { if (member.Grouping != null) { this.m_dynamicWithStaticPeerEncountered = true; spanDifference = i - member.HeaderLevel; } return(true); } } return(false); }
private static void DumpTablixMembers(TablixRowList tablixRows, TablixMember member, StreamWriter stream, int lastLevel, ref int index) { if (index > lastLevel) { stream.Write("<tr style='border:solid darkred 1px;height:" + tablixRows[index].Height + ";'>"); lastLevel = index; } if (member.ID > -1) { SupportabilityRIFVisualizer.DumpTablixMember(member, stream); } if (member.SubMembers != null) { if (member.ColSpan > 1) { if (member.ID > -1) { TablixMember tablixMember = new TablixMember(); tablixMember.SubMembers = new TablixMemberList(); tablixMember.ColSpan = member.ColSpan - 1; tablixMember.ID = -1; tablixMember.HeaderLevel = member.HeaderLevel + 1; foreach (TablixMember subMember in member.SubMembers) { tablixMember.SubMembers.Add(subMember); } member = tablixMember; } else { member.ColSpan--; } SupportabilityRIFVisualizer.DumpTablixMembers(tablixRows, member, stream, lastLevel, ref index); } else { foreach (TablixMember subMember2 in member.SubMembers) { SupportabilityRIFVisualizer.DumpTablixMembers(tablixRows, subMember2, stream, lastLevel, ref index); } } } else { foreach (TablixCell tablixCell in tablixRows[index].TablixCells) { if (tablixCell.ColSpan > 0) { stream.Write("<td colspan='"); stream.Write(tablixCell.ColSpan); stream.Write("'>"); if (tablixCell.CellContents != null) { stream.Write("<div style='overflow:auto;border:solid blue 1px;width:"); stream.Write(tablixCell.CellContents.Width); stream.Write(";height:"); stream.Write(tablixCell.CellContents.Height); stream.WriteLine(";'>"); stream.Write("CellContents Type: "); stream.WriteLine(tablixCell.CellContents.ObjectType.ToString()); stream.Write("<BR>Name: <font color=\"darkgreen\"><b>"); stream.WriteLine(tablixCell.CellContents.Name); stream.Write(" </b></font><BR>Width: "); stream.WriteLine(tablixCell.CellContents.Width); stream.Write(" <BR>Height: "); stream.WriteLine(tablixCell.CellContents.Height); if (tablixCell.CellContents.ObjectType == ObjectType.Textbox) { stream.WriteLine("<b>"); stream.WriteLine("</b><BR>"); } else if (tablixCell.CellContents.ObjectType == ObjectType.Tablix) { SupportabilityRIFVisualizer.DumpTablix((AspNetCore.ReportingServices.ReportIntermediateFormat.Tablix)tablixCell.CellContents, stream); } stream.Write("</div>"); } stream.Write("</td>"); } } index++; stream.Write("</tr>"); } }
/// <summary> /// Create report /// </summary> /// <param name="model">Create report model</param> public void CreateReport(CreateReportModel model) { var ssrs = this.ssrsWrapperProvider.GetReportingServiceWrapper(); Warning[] warnings; Report report = new Report(); report.Description = model.ReportDescription; report.Page.PageWidth = new ReportSize(280, SizeTypes.Mm); report.Page.PageHeight = new ReportSize(210, SizeTypes.Mm); report.Width = new ReportSize(297, SizeTypes.Mm); report.Body.Height = new ReportSize(210, SizeTypes.Mm); DataSource dataSource = new DataSource { Name = "DataSource", DataSourceReference = ConfigurationManager.AppSettings["SharedSsrsDataSourceName"] }; report.DataSources.Add(dataSource); report.DataSets.Add(new DataSet() { Name = "DataSet1", Fields = this.ssrsProvider.GetFieldsFromQuery(model.DatabaseName, model.Query), Query = new Query() { CommandType = CommandTypes.Text, CommandText = string.Format("USE {0}; {1}", model.DatabaseName, model.Query), Timeout = 30, DataSourceName = report.DataSources[0].Name } }); //report.ReportParameters.Add(new ReportParameter() // { // DataType = DataTypes.String, // UsedInQuery = UsedInQueryTypes.False, // MultiValue = false, // Prompt = "?", // Name = "TestParameter", // AllowBlank = true // }); Tablix tablix = new Tablix() { Name = "tablix1", Width = new ReportSize("250mm"), Left = new ReportSize("3mm") }; tablix.DataSetName = report.DataSets[0].Name; var colHeirarcy = new TablixHierarchy(); var rowHeirarcy = new TablixHierarchy(); foreach (var field in report.DataSets[0].Fields) { tablix.TablixBody.TablixColumns.Add(new TablixColumn() { Width = new ReportSize(50, SizeTypes.Mm) }); } TablixRow header = new TablixRow() { Height = new ReportSize(8, SizeTypes.Mm) }; foreach (var field in report.DataSets[0].Fields) { TablixCell cell = new TablixCell(); Textbox tbx = new Textbox(); tbx.Name = tablix.Name + "_Header_txt" + field.Name.Replace(" ", string.Empty); tbx.Paragraphs[0].TextRuns[0].Value = field.Name; tbx.Paragraphs[0].TextRuns[0].Style = new Style() { FontWeight = new ReportExpression <FontWeights>(FontWeights.Bold), FontSize = new ReportExpression <ReportSize>("10pt"), }; cell.CellContents = new CellContents() { ReportItem = tbx }; header.TablixCells.Add(cell); colHeirarcy.TablixMembers.Add(new TablixMember()); } tablix.TablixBody.TablixRows.Add(header); TablixRow row = new TablixRow() { Height = new ReportSize(5, SizeTypes.Mm) }; foreach (var field in report.DataSets[0].Fields) { TablixCell cell = new TablixCell(); Textbox tbx = new Textbox(); tbx.Name = "txt" + field.Name.Replace(" ", string.Empty); tbx.Paragraphs[0].TextRuns[0].Value = "=Fields!" + field.Name + ".Value"; tbx.Paragraphs[0].TextRuns[0].Style = new Style() { FontSize = new ReportExpression <ReportSize>("8pt") }; cell.CellContents = new CellContents() { ReportItem = tbx }; row.TablixCells.Add(cell); } tablix.TablixBody.TablixRows.Add(row); var mem = new TablixMember() { KeepTogether = true }; var mem2 = new TablixMember() { Group = new Group { Name = "Details" } }; rowHeirarcy.TablixMembers.Add(mem); rowHeirarcy.TablixMembers.Add(mem2); tablix.TablixColumnHierarchy = colHeirarcy; tablix.TablixRowHierarchy = rowHeirarcy; tablix.Style = new Style() { Border = new Border() }; report.Body.ReportItems.Add(tablix); RdlSerializer serializer = new RdlSerializer(); using (MemoryStream ms = new MemoryStream()) { serializer.Serialize(ms, report); ssrs.CreateCatalogItem("Report", model.ReportName, "/", false, ms.ToArray(), null, out warnings); } }
protected override List <AspNetCore.ReportingServices.ReportIntermediateFormat.ReportItem> GetGroupScopedContents(AspNetCore.ReportingServices.ReportIntermediateFormat.ReportHierarchyNode member) { TablixMember tablixMember = (TablixMember)member; return(tablixMember.GroupScopedContentsForProcessing); }
internal static int AddMembersToCurrentPage(Microsoft.ReportingServices.OnDemandReportRendering.Tablix tablix, TablixMember memberParent, int rowMemberIndexCell, State state, bool createDetail, bool noRows, PageContext context, bool useForPageHFEval, Interactivity interactivity) { TablixMemberCollection tablixMemberCollection = null; if (memberParent == null) { if (state == State.RowMembers) { tablixMemberCollection = tablix.RowHierarchy.MemberCollection; } else { if (state == State.ColMembers) { AddCornerToCurrentPage(tablix.Corner, context, useForPageHFEval, interactivity); } tablixMemberCollection = tablix.ColumnHierarchy.MemberCollection; } } else { tablixMemberCollection = memberParent.Children; } if (tablixMemberCollection == null) { if (state == State.RowMembers) { AddMembersToCurrentPage(tablix, null, memberParent.MemberCellIndex, State.DetailRows, createDetail, noRows, context, useForPageHFEval, interactivity); } else if (createDetail) { AddDetailCellToCurrentPage(tablix, memberParent.MemberCellIndex, rowMemberIndexCell, context, useForPageHFEval, interactivity); } if (!useForPageHFEval) { return(0); } return(1); } bool flag = true; bool flag2 = true; TablixMember tablixMember = null; TablixMemberInstance tablixMemberInstance = null; TablixDynamicMemberInstance tablixDynamicMemberInstance = null; int num = 0; bool flag3 = useForPageHFEval; for (int i = 0; i < tablixMemberCollection.Count; i++) { flag3 = useForPageHFEval; tablixMember = tablixMemberCollection[i]; if (noRows && tablixMember.HideIfNoRows) { if (interactivity == null) { continue; } flag3 = false; } flag = true; tablixMemberInstance = tablixMember.Instance; if (tablixMember.IsStatic) { flag2 = WalkTablixMember(tablixMember, ref flag3, interactivity); } else { tablixDynamicMemberInstance = (TablixDynamicMemberInstance)tablixMemberInstance; tablixDynamicMemberInstance.ResetContext(); flag = tablixDynamicMemberInstance.MoveNext(); if (flag) { flag2 = WalkTablixMember(tablixMember, ref flag3, interactivity); } } while (flag) { if (flag2) { int num2 = AddMembersToCurrentPage(tablix, tablixMember, rowMemberIndexCell, state, createDetail, noRows, context, flag3, interactivity); if (state != State.DetailRows) { interactivity?.RegisterGroupLabel(tablixMember.Group, context); if (tablixMember.TablixHeader != null) { if (num2 > 0) { RegisterItem.RegisterHiddenItem(tablixMember.TablixHeader.CellContents.ReportItem, context, flag3, interactivity); num++; } else if (interactivity != null) { RegisterItem.RegisterHiddenItem(tablixMember.TablixHeader.CellContents.ReportItem, context, useForPageHFEval: false, interactivity); } } } } if (tablixMember.IsStatic) { flag = false; continue; } flag = tablixDynamicMemberInstance.MoveNext(); if (flag) { flag3 = useForPageHFEval; flag2 = WalkTablixMember(tablixMember, ref flag3, interactivity); } } tablixMemberInstance = null; } return(num); }
public TablixHierarchyType CreateTablixColumnHierarchy() { TablixMembersType main = new TablixMembersType(); List<TablixMemberType> members = new List<TablixMemberType>(); foreach (var f in m_fields) { TablixMember m = new TablixMember(); members.Add(m.Create()); } main.TablixMember = members.ToArray(); TablixHierarchy hie = new TablixHierarchy(); hie.TablixMembers = new TablixMembersType[] { main }; return hie.Create(); }
internal TablixMemberInstance(Tablix owner, TablixMember memberDef) : base(memberDef.ReportScope) { m_owner = owner; m_memberDef = memberDef; }
public TablixMemberInstance(Tablix owner, TablixMember memberDef) : base(memberDef.ReportScope) { this.m_owner = owner; this.m_memberDef = memberDef; }
public RuntimeTablixCell(RuntimeTablixGroupLeafObjReference owner, TablixMember outerGroupingMember, TablixMember innerGroupingMember, bool innermost) : base(owner, outerGroupingMember, innerGroupingMember, innermost) { }
private static void DumpTablixMember(TablixMember member, StreamWriter stream) { if (member.TablixHeader != null) { stream.Write("<td "); stream.Write("rowspan='"); stream.Write(member.RowSpan); stream.Write("' colSpan='"); stream.Write(member.ColSpan); stream.Write("'>"); stream.Write("<div style='overflow:auto;border:solid darkgreen 1px;"); if (member.TablixHeader.CellContents != null) { stream.Write("height:"); stream.Write(member.TablixHeader.CellContents.Height); stream.Write(";"); stream.Write("width:"); stream.Write(member.TablixHeader.CellContents.Width); stream.Write(";"); } stream.WriteLine("'>"); stream.WriteLine("MemberCellIndex = " + member.MemberCellIndex); if (member.Grouping != null) { stream.WriteLine("Dynamic<BR>"); stream.Write("Grouping "); stream.Write("Name: <b><font color=\"darkblue\">"); stream.WriteLine(member.Grouping.Name); stream.WriteLine("</font></b><BR>"); if (member.Grouping.Variables != null) { foreach (Variable variable in member.Grouping.Variables) { stream.WriteLine("<font color=\"darkred\"><b>" + variable.Name + "</b></font> " + variable.Value.OriginalText + "<BR>"); } } if (member.InScopeTextBoxes != null) { stream.WriteLine("<font color=\"darkgreen\"><b>TextBoxesInScope:</b></font> <BR>"); foreach (AspNetCore.ReportingServices.ReportIntermediateFormat.TextBox inScopeTextBox in member.InScopeTextBoxes) { stream.WriteLine("<font color=\"darkgreen\"><b>" + inScopeTextBox.Name + "</b></font> <BR>"); } } } else { stream.WriteLine("Static<BR>"); } stream.WriteLine("RowSpan: " + member.RowSpan + "<BR>"); stream.WriteLine("ColSpan: " + member.ColSpan + "<BR>"); if (member.HasConditionalOrToggleableVisibility) { stream.WriteLine("HasConditionalOrToggleableVisibility<BR>"); } if (member.IsAutoSubtotal) { stream.WriteLine("IsAutoSubtotal<BR>"); } if (member.IsInnerMostMemberWithHeader) { stream.WriteLine("IsInnerMostMemberWithHeader<BR>"); } stream.Write("HeaderSize: "); stream.WriteLine(member.TablixHeader.Size); stream.WriteLine("<BR>"); if (member.TablixHeader.CellContents != null) { stream.Write("CellContents Type: "); stream.WriteLine(member.TablixHeader.CellContents.ObjectType.ToString()); stream.WriteLine("<BR>"); stream.Write(" \tName: <b><font color=\"darkgreen\">"); stream.WriteLine(member.TablixHeader.CellContents.Name); stream.WriteLine("</font></b><BR>"); stream.Write(" \tWidth: "); stream.WriteLine(member.TablixHeader.CellContents.Width); stream.WriteLine("<BR>"); stream.Write(" \tHeight: "); stream.WriteLine(member.TablixHeader.CellContents.Height); stream.WriteLine("<BR>"); if (member.TablixHeader.CellContents.ObjectType == ObjectType.Textbox) { AspNetCore.ReportingServices.ReportIntermediateFormat.TextBox textBox = (AspNetCore.ReportingServices.ReportIntermediateFormat.TextBox)member.TablixHeader.CellContents; stream.Write("<b>"); stream.Write("</b>"); if (textBox.UserSort != null) { stream.WriteLine("sort expr scope: " + textBox.UserSort.SortExpressionScopeString); stream.WriteLine("<BR>"); stream.WriteLine("sort target: " + textBox.UserSort.SortTargetString); stream.WriteLine("<BR>"); } stream.WriteLine("<BR>"); } else if (member.TablixHeader.CellContents.ObjectType == ObjectType.Tablix) { SupportabilityRIFVisualizer.DumpTablix((AspNetCore.ReportingServices.ReportIntermediateFormat.Tablix)member.TablixHeader.CellContents, stream); } } stream.Write("</div>"); stream.Write("</td>"); } }
public override void Deserialize(IntermediateFormatReader reader) { base.Deserialize(reader); reader.RegisterDeclaration(m_Declaration); while (reader.NextMember()) { switch (reader.CurrentMember.MemberName) { case MemberName.Paragraphs: m_paragraphs = reader.ReadGenericListOfRIFObjects <Paragraph>(); break; case MemberName.Value: { TextRun orCreateSingleTextRun = GetOrCreateSingleTextRun(reader); ExpressionInfo expressionInfo = (ExpressionInfo)reader.ReadRIFObject(); m_hasValue = true; m_hasExpressionBasedValue = expressionInfo.IsExpression; orCreateSingleTextRun.Value = expressionInfo; if (m_styleClass != null) { orCreateSingleTextRun.Paragraph.StyleClass = new ParagraphFilteredStyle(m_styleClass); orCreateSingleTextRun.StyleClass = new TextRunFilteredStyle(m_styleClass); m_styleClass = new TextBoxFilteredStyle(m_styleClass); } break; } case MemberName.CanScrollVertically: m_canScrollVertically = reader.ReadBoolean(); break; case MemberName.CanGrow: m_canGrow = reader.ReadBoolean(); break; case MemberName.CanShrink: m_canShrink = reader.ReadBoolean(); break; case MemberName.HideDuplicates: m_hideDuplicates = reader.ReadString(); break; case MemberName.Action: m_action = (Action)reader.ReadRIFObject(); break; case MemberName.IsToggle: m_isToggle = reader.ReadBoolean(); break; case MemberName.InitialToggleState: m_initialToggleState = (ExpressionInfo)reader.ReadRIFObject(); break; case MemberName.ValueReferenced: m_valueReferenced = reader.ReadBoolean(); break; case MemberName.TextRunValueReferenced: m_textRunValueReferenced = reader.ReadBoolean(); break; case MemberName.RecursiveSender: m_recursiveSender = reader.ReadBoolean(); break; case MemberName.DataElementStyleAttribute: m_dataElementStyleAttribute = reader.ReadBoolean(); break; case MemberName.ContainingScopes: if (reader.ReadListOfReferencesNoResolution(this) == 0) { m_containingScopes = new GroupingList(); } break; case MemberName.UserSort: m_userSort = (EndUserSort)reader.ReadRIFObject(); break; case MemberName.IsTablixCellScope: m_isTablixCellScope = reader.ReadBoolean(); break; case MemberName.IsSubReportTopLevelScope: m_isSubReportTopLevelScope = reader.ReadBoolean(); break; case MemberName.DataType: GetOrCreateSingleTextRun(reader).DataType = (DataType)reader.ReadEnum(); break; case MemberName.KeepTogether: m_keepTogether = reader.ReadBoolean(); break; case MemberName.SequenceID: m_sequenceID = reader.ReadInt32(); break; case MemberName.RecursiveMember: m_recursiveMember = reader.ReadReference <TablixMember>(this); break; case MemberName.HasExpressionBasedValue: m_hasExpressionBasedValue = reader.ReadBoolean(); break; case MemberName.HasValue: m_hasValue = reader.ReadBoolean(); break; case MemberName.IsSimple: m_isSimple = reader.ReadBoolean(); break; case MemberName.HasNonRecursiveSender: m_hasNonRecursiveSender = reader.ReadBoolean(); break; default: Global.Tracer.Assert(condition: false); break; } } }
private static int CollectTablixMembersContents(AspNetCore.ReportingServices.OnDemandReportRendering.Tablix tablix, TablixMember memberParent, int rowMemberIndexCell, TablixState state, bool noRows, PageContext context, bool useForPageHFEval, Dictionary <string, List <object> > textBoxes) { TablixMemberCollection tablixMemberCollection = null; if (memberParent == null) { switch (state) { case TablixState.RowMembers: tablixMemberCollection = tablix.RowHierarchy.MemberCollection; break; case TablixState.ColMembers: HeaderFooterEval.CollectTablixCornerContents(tablix.Corner, context, useForPageHFEval, textBoxes); goto default; default: tablixMemberCollection = tablix.ColumnHierarchy.MemberCollection; break; } } else { tablixMemberCollection = memberParent.Children; } if (tablixMemberCollection == null) { if (state == TablixState.RowMembers) { HeaderFooterEval.CollectTablixMembersContents(tablix, null, memberParent.MemberCellIndex, TablixState.DetailRows, noRows, context, useForPageHFEval, textBoxes); } else { HeaderFooterEval.CollectDetailCellContents(tablix, memberParent.MemberCellIndex, rowMemberIndexCell, context, useForPageHFEval, textBoxes); } if (!useForPageHFEval) { return(0); } return(1); } bool flag = true; bool flag2 = true; TablixMember tablixMember = null; TablixMemberInstance tablixMemberInstance = null; TablixDynamicMemberInstance tablixDynamicMemberInstance = null; int num = 0; bool useForPageHFEval2 = useForPageHFEval; for (int i = 0; i < tablixMemberCollection.Count; i++) { useForPageHFEval2 = useForPageHFEval; tablixMember = ((ReportElementCollectionBase <TablixMember>)tablixMemberCollection)[i]; if (!noRows || !tablixMember.HideIfNoRows) { flag = true; tablixMemberInstance = tablixMember.Instance; if (tablixMember.IsStatic) { flag2 = HeaderFooterEval.ShouldBeCollected(tablixMember, ref useForPageHFEval2); } else { tablixDynamicMemberInstance = (TablixDynamicMemberInstance)tablixMemberInstance; tablixDynamicMemberInstance.ResetContext(); flag = tablixDynamicMemberInstance.MoveNext(); if (flag) { flag2 = HeaderFooterEval.ShouldBeCollected(tablixMember, ref useForPageHFEval2); } } while (flag) { if (flag2) { int num2 = HeaderFooterEval.CollectTablixMembersContents(tablix, tablixMember, rowMemberIndexCell, state, noRows, context, useForPageHFEval2, textBoxes); if (state != TablixState.DetailRows && tablixMember.TablixHeader != null && num2 > 0) { HeaderFooterEval.CollectTextBoxes(tablixMember.TablixHeader.CellContents.ReportItem, context, useForPageHFEval2, textBoxes); num++; } } if (tablixMember.IsStatic) { flag = false; } else { flag = tablixDynamicMemberInstance.MoveNext(); if (flag) { useForPageHFEval2 = useForPageHFEval; flag2 = HeaderFooterEval.ShouldBeCollected(tablixMember, ref useForPageHFEval2); } } } tablixMemberInstance = null; } } return(num); }
private static int CollectTablixMembersContents(Microsoft.ReportingServices.OnDemandReportRendering.Tablix tablix, TablixMember memberParent, int rowMemberIndexCell, TablixState state, bool noRows, PageContext context, bool useForPageHFEval, Dictionary <string, List <object> > textBoxes) { TablixMemberCollection tablixMemberCollection = null; if (memberParent == null) { if (state == TablixState.RowMembers) { tablixMemberCollection = tablix.RowHierarchy.MemberCollection; } else { if (state == TablixState.ColMembers) { CollectTablixCornerContents(tablix.Corner, context, useForPageHFEval, textBoxes); } tablixMemberCollection = tablix.ColumnHierarchy.MemberCollection; } } else { tablixMemberCollection = memberParent.Children; } if (tablixMemberCollection == null) { if (state == TablixState.RowMembers) { CollectTablixMembersContents(tablix, null, memberParent.MemberCellIndex, TablixState.DetailRows, noRows, context, useForPageHFEval, textBoxes); } else { CollectDetailCellContents(tablix, memberParent.MemberCellIndex, rowMemberIndexCell, context, useForPageHFEval, textBoxes); } if (!useForPageHFEval) { return(0); } return(1); } bool flag = true; bool flag2 = true; TablixMember tablixMember = null; TablixMemberInstance tablixMemberInstance = null; TablixDynamicMemberInstance tablixDynamicMemberInstance = null; int num = 0; bool flag3 = useForPageHFEval; for (int i = 0; i < tablixMemberCollection.Count; i++) { flag3 = useForPageHFEval; tablixMember = tablixMemberCollection[i]; if (noRows && tablixMember.HideIfNoRows) { continue; } flag = true; tablixMemberInstance = tablixMember.Instance; if (tablixMember.IsStatic) { flag2 = ShouldBeCollected(tablixMember, ref flag3); } else { tablixDynamicMemberInstance = (TablixDynamicMemberInstance)tablixMemberInstance; tablixDynamicMemberInstance.ResetContext(); flag = tablixDynamicMemberInstance.MoveNext(); if (flag) { flag2 = ShouldBeCollected(tablixMember, ref flag3); } } while (flag) { if (flag2) { int num2 = CollectTablixMembersContents(tablix, tablixMember, rowMemberIndexCell, state, noRows, context, flag3, textBoxes); if (state != TablixState.DetailRows && tablixMember.TablixHeader != null && num2 > 0) { CollectTextBoxes(tablixMember.TablixHeader.CellContents.ReportItem, context, flag3, textBoxes); num++; } } if (tablixMember.IsStatic) { flag = false; continue; } flag = tablixDynamicMemberInstance.MoveNext(); if (flag) { flag3 = useForPageHFEval; flag2 = ShouldBeCollected(tablixMember, ref flag3); } } tablixMemberInstance = null; } return(num); }
public IPersistable CreateRIFObject(ObjectType objectType, ref IntermediateFormatReader context) { IPersistable persistable = null; if (objectType == ObjectType.Null) { return(null); } IDOwner parentIDOwner = this.m_parentIDOwner; ReportItem parentReportItem = this.m_parentReportItem; switch (objectType) { case ObjectType.PageSection: persistable = new PageSection(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.Line: persistable = new Line(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.Rectangle: persistable = new Rectangle(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.Image: persistable = new Image(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.TextBox: persistable = new TextBox(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.SubReport: persistable = new SubReport(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.Grouping: persistable = new Grouping(ConstructionPhase.Deserializing); break; case ObjectType.Sorting: persistable = new Sorting(ConstructionPhase.Deserializing); break; case ObjectType.ReportItemCollection: persistable = new ReportItemCollection(); break; case ObjectType.ReportItemIndexer: persistable = (IPersistable)(object)default(ReportItemIndexer); break; case ObjectType.Style: persistable = new Style(ConstructionPhase.Deserializing); break; case ObjectType.AttributeInfo: persistable = new AttributeInfo(); break; case ObjectType.Visibility: persistable = new Visibility(); break; case ObjectType.ExpressionInfo: persistable = new ExpressionInfo(); break; case ObjectType.ExpressionInfoTypeValuePair: persistable = new ExpressionInfoTypeValuePair(); break; case ObjectType.DataAggregateInfo: persistable = new DataAggregateInfo(); break; case ObjectType.RunningValueInfo: persistable = new RunningValueInfo(); break; case ObjectType.Filter: persistable = new Filter(); break; case ObjectType.DataSource: persistable = new DataSource(); break; case ObjectType.DataSet: persistable = new DataSet(); break; case ObjectType.ReportQuery: persistable = new ReportQuery(); break; case ObjectType.Field: persistable = new Field(); break; case ObjectType.ParameterValue: persistable = new ParameterValue(); break; case ObjectType.ReportSnapshot: persistable = new ReportSnapshot(); break; case ObjectType.DocumentMapNode: persistable = new DocumentMapNode(); break; case ObjectType.DocumentMapBeginContainer: persistable = DocumentMapBeginContainer.Instance; break; case ObjectType.DocumentMapEndContainer: persistable = DocumentMapEndContainer.Instance; break; case ObjectType.ReportInstance: persistable = new ReportInstance(); break; case ObjectType.ParameterInfo: persistable = new ParameterInfo(); break; case ObjectType.ValidValue: persistable = new ValidValue(); break; case ObjectType.ParameterDataSource: persistable = new ParameterDataSource(); break; case ObjectType.ParameterDef: persistable = new ParameterDef(); break; case ObjectType.ProcessingMessage: persistable = new ProcessingMessage(); break; case ObjectType.CodeClass: persistable = (IPersistable)(object)default(CodeClass); break; case ObjectType.Action: persistable = new Action(); break; case ObjectType.RenderingPagesRanges: persistable = (IPersistable)(object)default(RenderingPagesRanges); break; case ObjectType.IntermediateFormatVersion: persistable = new IntermediateFormatVersion(); break; case ObjectType.ImageInfo: persistable = new ImageInfo(); break; case ObjectType.ActionItem: persistable = new ActionItem(); break; case ObjectType.DataValue: persistable = new DataValue(); break; case ObjectType.CustomReportItem: persistable = new CustomReportItem(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.SortFilterEventInfoMap: persistable = new SortFilterEventInfoMap(); break; case ObjectType.SortFilterEventInfo: persistable = new SortFilterEventInfo(); break; case ObjectType.EndUserSort: persistable = new EndUserSort(); break; case ObjectType.ScopeLookupTable: persistable = new ScopeLookupTable(); break; case ObjectType.Tablix: persistable = new Tablix(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.TablixHeader: persistable = new TablixHeader(); break; case ObjectType.TablixMember: persistable = new TablixMember(); break; case ObjectType.TablixColumn: persistable = new TablixColumn(); break; case ObjectType.TablixRow: persistable = new TablixRow(); break; case ObjectType.TablixCornerCell: persistable = new TablixCornerCell(); break; case ObjectType.TablixCell: persistable = new TablixCell(); break; case ObjectType.Chart: persistable = new Chart(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.ChartMember: persistable = new ChartMember(); break; case ObjectType.ChartSeries: persistable = new ChartSeries(); break; case ObjectType.ChartDataPoint: persistable = new ChartDataPoint(); break; case ObjectType.ChartDataPointValues: persistable = new ChartDataPointValues(); break; case ObjectType.ChartArea: persistable = new ChartArea(); break; case ObjectType.ChartLegend: persistable = new ChartLegend(); break; case ObjectType.ChartLegendTitle: persistable = new ChartLegendTitle(); break; case ObjectType.ChartAxis: persistable = new ChartAxis(); break; case ObjectType.ThreeDProperties: persistable = new ChartThreeDProperties(); break; case ObjectType.ChartDataLabel: persistable = new ChartDataLabel(); break; case ObjectType.ChartMarker: persistable = new ChartMarker(); break; case ObjectType.ChartTitle: persistable = new ChartTitle(); break; case ObjectType.ChartAxisScaleBreak: persistable = new ChartAxisScaleBreak(); break; case ObjectType.ChartDerivedSeries: persistable = new ChartDerivedSeries(); break; case ObjectType.ChartBorderSkin: persistable = new ChartBorderSkin(); break; case ObjectType.ChartNoDataMessage: persistable = new ChartNoDataMessage(); break; case ObjectType.ChartItemInLegend: persistable = new ChartItemInLegend(); break; case ObjectType.ChartEmptyPoints: persistable = new ChartEmptyPoints(); break; case ObjectType.ChartNoMoveDirections: persistable = new ChartNoMoveDirections(); break; case ObjectType.ChartFormulaParameter: persistable = new ChartFormulaParameter(); break; case ObjectType.ChartLegendColumn: persistable = new ChartLegendColumn(); break; case ObjectType.ChartLegendColumnHeader: persistable = new ChartLegendColumnHeader(); break; case ObjectType.ChartLegendCustomItem: persistable = new ChartLegendCustomItem(); break; case ObjectType.ChartLegendCustomItemCell: persistable = new ChartLegendCustomItemCell(); break; case ObjectType.ChartAlignType: persistable = new ChartAlignType(); break; case ObjectType.ChartElementPosition: persistable = new ChartElementPosition(); break; case ObjectType.ChartSmartLabel: persistable = new ChartSmartLabel(); break; case ObjectType.ChartStripLine: persistable = new ChartStripLine(); break; case ObjectType.ChartAxisTitle: persistable = new ChartAxisTitle(); break; case ObjectType.ChartCustomPaletteColor: persistable = new ChartCustomPaletteColor(); break; case ObjectType.GridLines: persistable = new ChartGridLines(); break; case ObjectType.ChartTickMarks: persistable = new ChartTickMarks(); break; case ObjectType.DataMember: persistable = new DataMember(); break; case ObjectType.CustomDataRow: persistable = new CustomDataRow(); break; case ObjectType.DataCell: persistable = new DataCell(); break; case ObjectType.Variable: persistable = new Variable(); break; case ObjectType.Page: persistable = new Page(); break; case ObjectType.Paragraph: persistable = new Paragraph(); break; case ObjectType.TextRun: persistable = new TextRun(); break; case ObjectType.Report: persistable = new Report(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.GaugePanel: persistable = new GaugePanel(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.GaugeMember: persistable = new GaugeMember(); break; case ObjectType.GaugeRow: persistable = new GaugeRow(); break; case ObjectType.GaugeCell: persistable = new GaugeCell(); break; case ObjectType.BackFrame: persistable = new BackFrame(); break; case ObjectType.CapImage: persistable = new CapImage(); break; case ObjectType.FrameBackground: persistable = new FrameBackground(); break; case ObjectType.FrameImage: persistable = new FrameImage(); break; case ObjectType.CustomLabel: persistable = new CustomLabel(); break; case ObjectType.GaugeImage: persistable = new GaugeImage(); break; case ObjectType.GaugeInputValue: persistable = new GaugeInputValue(); break; case ObjectType.GaugeLabel: persistable = new GaugeLabel(); break; case ObjectType.GaugePanelItem: persistable = new GaugePanelItem(); break; case ObjectType.GaugeTickMarks: persistable = new GaugeTickMarks(); break; case ObjectType.LinearGauge: persistable = new LinearGauge(); break; case ObjectType.LinearPointer: persistable = new LinearPointer(); break; case ObjectType.LinearScale: persistable = new LinearScale(); break; case ObjectType.NumericIndicator: persistable = new NumericIndicator(); break; case ObjectType.PinLabel: persistable = new PinLabel(); break; case ObjectType.PointerCap: persistable = new PointerCap(); break; case ObjectType.PointerImage: persistable = new PointerImage(); break; case ObjectType.RadialGauge: persistable = new RadialGauge(); break; case ObjectType.RadialPointer: persistable = new RadialPointer(); break; case ObjectType.RadialScale: persistable = new RadialScale(); break; case ObjectType.ScaleLabels: persistable = new ScaleLabels(); break; case ObjectType.ScalePin: persistable = new ScalePin(); break; case ObjectType.ScaleRange: persistable = new ScaleRange(); break; case ObjectType.IndicatorImage: persistable = new IndicatorImage(); break; case ObjectType.StateIndicator: persistable = new StateIndicator(); break; case ObjectType.Thermometer: persistable = new Thermometer(); break; case ObjectType.TickMarkStyle: persistable = new TickMarkStyle(); break; case ObjectType.TopImage: persistable = new TopImage(); break; case ObjectType.LookupInfo: persistable = new LookupInfo(); break; case ObjectType.LookupDestinationInfo: persistable = new LookupDestinationInfo(); break; case ObjectType.ReportSection: persistable = new ReportSection(); break; case ObjectType.MapFieldDefinition: persistable = new MapFieldDefinition(); break; case ObjectType.MapFieldName: persistable = new MapFieldName(); break; case ObjectType.MapLineLayer: persistable = new MapLineLayer(); break; case ObjectType.MapShapefile: persistable = new MapShapefile(); break; case ObjectType.MapPolygonLayer: persistable = new MapPolygonLayer(); break; case ObjectType.MapSpatialDataRegion: persistable = new MapSpatialDataRegion(); break; case ObjectType.MapSpatialDataSet: persistable = new MapSpatialDataSet(); break; case ObjectType.MapPointLayer: persistable = new MapPointLayer(); break; case ObjectType.MapTile: persistable = new MapTile(); break; case ObjectType.MapTileLayer: persistable = new MapTileLayer(); break; case ObjectType.MapField: persistable = new MapField(); break; case ObjectType.MapLine: persistable = new MapLine(); break; case ObjectType.MapPolygon: persistable = new MapPolygon(); break; case ObjectType.MapPoint: persistable = new MapPoint(); break; case ObjectType.MapLineTemplate: persistable = new MapLineTemplate(); break; case ObjectType.MapPolygonTemplate: persistable = new MapPolygonTemplate(); break; case ObjectType.MapMarkerTemplate: persistable = new MapMarkerTemplate(); break; case ObjectType.Map: persistable = new Map(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.MapBorderSkin: persistable = new MapBorderSkin(); break; case ObjectType.MapDataRegion: persistable = new MapDataRegion(this.m_parentReportItem); break; case ObjectType.MapMember: persistable = new MapMember(); break; case ObjectType.MapRow: persistable = new MapRow(); break; case ObjectType.MapCell: persistable = new MapCell(); break; case ObjectType.MapLocation: persistable = new MapLocation(); break; case ObjectType.MapSize: persistable = new MapSize(); break; case ObjectType.MapGridLines: persistable = new MapGridLines(); break; case ObjectType.MapBindingFieldPair: persistable = new MapBindingFieldPair(); break; case ObjectType.MapCustomView: persistable = new MapCustomView(); break; case ObjectType.MapDataBoundView: persistable = new MapDataBoundView(); break; case ObjectType.MapElementView: persistable = new MapElementView(); break; case ObjectType.MapViewport: persistable = new MapViewport(); break; case ObjectType.MapLimits: persistable = new MapLimits(); break; case ObjectType.MapColorScale: persistable = new MapColorScale(); break; case ObjectType.MapColorScaleTitle: persistable = new MapColorScaleTitle(); break; case ObjectType.MapDistanceScale: persistable = new MapDistanceScale(); break; case ObjectType.MapTitle: persistable = new MapTitle(); break; case ObjectType.MapLegend: persistable = new MapLegend(); break; case ObjectType.MapLegendTitle: persistable = new MapLegendTitle(); break; case ObjectType.MapBucket: persistable = new MapBucket(); break; case ObjectType.MapColorPaletteRule: persistable = new MapColorPaletteRule(); break; case ObjectType.MapColorRangeRule: persistable = new MapColorRangeRule(); break; case ObjectType.MapCustomColorRule: persistable = new MapCustomColorRule(); break; case ObjectType.MapCustomColor: persistable = new MapCustomColor(); break; case ObjectType.MapLineRules: persistable = new MapLineRules(); break; case ObjectType.MapPolygonRules: persistable = new MapPolygonRules(); break; case ObjectType.MapSizeRule: persistable = new MapSizeRule(); break; case ObjectType.MapMarkerImage: persistable = new MapMarkerImage(); break; case ObjectType.MapMarker: persistable = new MapMarker(); break; case ObjectType.MapMarkerRule: persistable = new MapMarkerRule(); break; case ObjectType.MapPointRules: persistable = new MapPointRules(); break; case ObjectType.PageBreak: persistable = new PageBreak(); break; case ObjectType.DataScopeInfo: persistable = new DataScopeInfo(); break; case ObjectType.LinearJoinInfo: persistable = new LinearJoinInfo(); break; case ObjectType.IntersectJoinInfo: persistable = new IntersectJoinInfo(); break; case ObjectType.BucketedDataAggregateInfos: persistable = new BucketedDataAggregateInfos(); break; case ObjectType.DataAggregateInfoBucket: persistable = new DataAggregateInfoBucket(); break; case ObjectType.NumericIndicatorRange: persistable = new NumericIndicatorRange(); break; case ObjectType.IndicatorState: persistable = new IndicatorState(); break; case ObjectType.SharedDataSetQuery: persistable = new SharedDataSetQuery(); break; case ObjectType.DataSetCore: persistable = new DataSetCore(); break; case ObjectType.DataSetParameterValue: persistable = new DataSetParameterValue(); break; case ObjectType.RIFVariantContainer: persistable = new RIFVariantContainer(); break; case ObjectType.IdcRelationship: persistable = new IdcRelationship(); break; case ObjectType.DefaultRelationship: persistable = new DefaultRelationship(); break; case ObjectType.JoinCondition: persistable = new Relationship.JoinCondition(); break; case ObjectType.BandLayoutOptions: persistable = new BandLayoutOptions(); break; case ObjectType.LabelData: persistable = new LabelData(); break; case ObjectType.Slider: persistable = new Slider(); break; case ObjectType.Coverflow: persistable = new Coverflow(); break; case ObjectType.PlayAxis: persistable = new PlayAxis(); break; case ObjectType.BandNavigationCell: persistable = new BandNavigationCell(); break; case ObjectType.Tabstrip: persistable = new Tabstrip(); break; case ObjectType.NavigationItem: persistable = new NavigationItem(); break; case ObjectType.ScopedFieldInfo: persistable = new ScopedFieldInfo(); break; default: Global.Tracer.Assert(false, "Unsupported object type: " + objectType.ToString()); break; } IDOwner iDOwner = persistable as IDOwner; if (iDOwner != null) { iDOwner.ParentInstancePath = this.m_parentIDOwner; this.m_parentIDOwner = iDOwner; } persistable.Deserialize(context); this.m_parentIDOwner = parentIDOwner; this.m_parentReportItem = parentReportItem; return(persistable); }
public TablixMembersType CreateMs(TablixMembersType parent, bool isStart, bool isRow) { if (isStart) { _level = 0; } var limit = isRow ? this.Columns.Count : this.Rows.Count; var tablixMember = new TablixMember(); if ((!isRow && _level == limit - 1) || (isRow && _level==0)) { tablixMember.Visibility = new Visibility() {Hidden = "true"}.Create(); var group = new Group { GroupExpressions = new GroupExpressionsType() {GroupExpression=new string[]{""} } }; tablixMember.Group = group.Create(isRow?"RowGroup":"ColumnGroup"); } var heaer = new TablixHeader(); var contents = new CellContents() { Textbox = CreateTextbox("",true) }.Create(); heaer.CellContents = new CellContentsType[] { contents }; string size = isRow ? this.Columns[_level].Width : this.Rows[_level].Height; heaer.Size = new string[] { size }; tablixMember.TablixHeader = heaer.Create(); _level++; if (_level < limit) { tablixMember.TablixMembers = CreateMs(new TablixMembersType(), false, isRow); } parent.TablixMember = new TablixMemberType[] { tablixMember.Create() }; return parent; }