2X faster development
The ultimate ASP.NET Web Forms UI toolkit to boost your development speed.
A report (RDL/RDLC) can be edited or modified at runtime using ReportDefinition class. The following describes the steps to edit a report at runtime and render the output.
C# FileStream stream = new FileStream(info.FullName, FileMode.Open, FileAccess.Read, FileShare.Read); XElement rdl = XElement.Load(XmlReader.Create(stream)); string Namespace = (from attribute in rdl.Attributes() where attribute.Name.LocalName == "xmlns" select attribute.Value).FirstOrDefault(); XmlSerializer xs = new XmlSerializer(typeof(Syncfusion.RDL.DOM.ReportDefinition), Namespace); using (StringReader reader = new StringReader(rdl.ToString())) { reportDefinition = (Syncfusion.RDL.DOM.ReportDefinition)xs.Deserialize(reader); }
C# var data = reportDefinition.ReportSections[0]; //=====Edit Report item in report header =========// Syncfusion.RDL.DOM.TextBox headertext = new Syncfusion.RDL.DOM.TextBox(); headertext = (Syncfusion.RDL.DOM.TextBox)data.Page.PageHeader.ReportItems[0]; headertext.Paragraphs[0].TextRuns[0].Value = table.Columns[0].ToString();
C# Syncfusion.RDL.DOM.Tablix reportitem = new Syncfusion.RDL.DOM.Tablix(); reportitem = (Syncfusion.RDL.DOM.Tablix)data.Body.ReportItems[0]; for (int i = 0; i < table.Columns.Count; i++) { Syncfusion.RDL.DOM.TextBox txtbox = new Syncfusion.RDL.DOM.TextBox(); txtbox = (Syncfusion.RDL.DOM.TextBox)reportitem.TablixBody.TablixRows[0].TablixCells[i].CellContents.ReportItem; txtbox.Paragraphs[0].TextRuns[0].Value = table.Columns[i].ToString(); }
C# string nameSpace = "http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition"; if (reportDefinition.RDLType == Syncfusion.RDL.DOM.RDLType.RDL2010) { nameSpace = "http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition"; } System.Xml.Serialization.XmlSerializerNamespaces serialize = new System.Xml.Serialization.XmlSerializerNamespaces(); serialize.Add("rd", "http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"); XmlSerializer xs2 = new XmlSerializer(typeof(Syncfusion.RDL.DOM.ReportDefinition), nameSpace); MemoryStream memoryStream = new MemoryStream(); TextWriter ws2 = new StreamWriter(memoryStream); xs2.Serialize(ws2, reportDefinition, serialize); memoryStream.Position = 0;
Samples
|
2X faster development
The ultimate ASP.NET Web Forms UI toolkit to boost your development speed.
This page will automatically be redirected to the sign-in page in 10 seconds.