private TablixHierarchyType CreateTablixRowHierarchy() { var members = CreateMs(new TablixMembersType(), true, true); var hie = new TablixHierarchy { TablixMembers = new TablixMembersType[] { members } }; return hie.Create(); }
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(); }
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); }
/// <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); } }