Telerik Forums
Reporting Forum
1 answer
642 views
As an example, I have a report with two report parameters. The first is year, the second is month. If I have AutoRefresh on, it reruns the query if I pick year OR month. So I disabled the AutoRefresh on the first parameter, so it would only re-run the query after setting the second parameter. However, when I do this, the second parameter does not AutoRefresh, and I have a Preview button.  Is this the way it was designed, or is something wrong??
Todor
Telerik team
 answered on 11 Jun 2021
1 answer
536 views

I have attached the error of the code while trying to integrate it into Core. Image of Report 1 &2 is the actual code, and Error image 3, 4, 5 is the result of the code error.

 

Thanks

Plamen Mitrev
Telerik team
 answered on 10 Jun 2021
2 answers
435 views

Hi!

My datasource includes one field which is a comma separated list of items. What I like to do is display these items in three columns inside my report.

Items: "item1, item2, item3, item4, item5, ... , itemX"
Displayed as

item1     item4    item7
item2    item5    item8
item3    item6    item9

How can I achieve this?

Regards
Heiko

Plamen Mitrev
Telerik team
 answered on 09 Jun 2021
1 answer
236 views

hi,

what is we have to do to distribute Telerik Reporting assemblies and merge them into a single
EXE or DLL that can be used by the custom application.

thx in advance,

Regards

Todor
Telerik team
 answered on 09 Jun 2021
2 answers
385 views

I am using Telerik reporting in a VB.net app.  The reports each preview correctly, but if I print directly to a printer, it comes up blank.  To PDF it saves a blank file.  To a physical printer, it goes through the motions with the driver, but nothing is actually printed.

Telerik.Reporting.dll is version 15.0.21.326.

What am I missing?

code below:

Public Sub SaveReport(ByVal myreport As Telerik.Reporting.Report, filename As String)
       
        Dim reportProcessor As Telerik.Reporting.Processing.ReportProcessor = New Telerik.Reporting.Processing.ReportProcessor()
        Dim instanceReportSource As Telerik.Reporting.InstanceReportSource = New Telerik.Reporting.InstanceReportSource()
        instanceReportSource.ReportDocument = myreport
        Dim renderingResult As Telerik.Reporting.Processing.RenderingResult = reportProcessor.RenderReport("PDF", instanceReportSource, Nothing)
        Dim fs As FileStream = New FileStream(filename, FileMode.Create)
        fs.Write(renderingResult.DocumentBytes, 0, renderingResult.DocumentBytes.Length)
        fs.Close()
    End Sub

 

Public Sub PrintReport(ByVal myreport As Telerik.Reporting.Report, ByVal Copies As Integer)
        strModErr = "Module1_PrintReport"
        Dim printerSettings As PrinterSettings = New PrinterSettings()
        Dim printController As PrintController = New StandardPrintController()
        Dim reportProcessor As ReportProcessor = New ReportProcessor()
        Dim instanceReportSource As Telerik.Reporting.InstanceReportSource = New Telerik.Reporting.InstanceReportSource()

        Try
            instanceReportSource.ReportDocument = myreport
            printerSettings.PrinterName = My.Settings.DriverLogPrinter
            printerSettings.Copies = Copies
            reportProcessor.PrintController = printController
            reportProcessor.PrintReport(instanceReportSource, printerSettings)
        Catch ex As Exception
            WriteErrorToLog(Err.Number, strModErr + " - " + Err.Description)
            Dim inner As Exception = ex.InnerException
            Do
                If inner IsNot Nothing Then
                    WriteErrorToLog(666, inner.GetType().Name + ": " + inner.Message)
                    inner = inner.InnerException
                End If
            Loop While inner IsNot Nothing

        End Try
    End Sub
   
Phil
Top achievements
Rank 1
Iron
 answered on 09 Jun 2021
2 answers
177 views

Hi,  I need your help please, do you have any idea how can I make this kind of report.

in each page, let say i have 10 rows and i set 3 data per page. The report will show the max row number  ("show 3 of 10 result." in the 1st page and for next page will show "show 6 of 10" )

is it possible? thank you

 

thank you

Neli
Telerik team
 answered on 08 Jun 2021
1 answer
1.1K+ views

I am trying to get the month returned in a string in a report parameter. I currently have

Now().Month

But I suspect it is returning the number of the month because the field is blank when I run the report, which is strange because the other report parameter is

Now().Year
and that works just fine. I tried formatting as a string, but that did not work either. What am I doing wrong?
Plamen Mitrev
Telerik team
 answered on 08 Jun 2021
1 answer
788 views

Hello Team, 

 I am trying to generate a new report in .net core using Telereik Reporting Tool with Object data source. I tried many sample code, by didnt work. Can you please help me how to create a report using object database. It would be greate i f you can provide me a working sample code

 

Thanks

 

Eric R | Senior Technical Support Engineer
Telerik team
 answered on 03 Jun 2021
1 answer
541 views
Im saving a PDF in a Blob Storage, I can get the PDF but I need convert it to Telerik.Reporting.Report for using it like a SubReport inside a Report
Todor
Telerik team
 answered on 03 Jun 2021
8 answers
1.5K+ views
 System.OutOfMemoryException: Out of memory.
   at System.Drawing.Image.FromStream(Stream stream, Boolean useEmbeddedColorManagement, Boolean validateImageData)
   at Telerik.ReportViewer.WinForms.DrawablePage.Draw(Graphics graphics, Rectangle rectangle) in c:\temp\reporting\@RBuild-2334\Reporting_Build\Source\Code\Telerik.ReportViewer.WinForms\DrawablePage.cs:line 47
   at Telerik.ReportViewer.WinForms.InteractivePageLayout.LayoutItem.DrawContent(Graphics graphics) in c:\temp\reporting\@RBuild-2334\Reporting_Build\Source\Code\Telerik.ReportViewer.WinForms\InteractivePageLayout.cs:line 334
   at Telerik.ReportViewer.WinForms.InteractivePageLayout.DrawPages(Graphics graphics, Rectangle rectangle, Int32 pageNo) in c:\temp\reporting\@RBuild-2334\Reporting_Build\Source\Code\Telerik.ReportViewer.WinForms\InteractivePageLayout.cs:line 98
   at Telerik.ReportViewer.WinForms.WinViewer.OnPaint(PaintEventArgs eventArgs) in c:\temp\reporting\@RBuild-2334\Reporting_Build\Source\Code\Telerik.ReportViewer.WinForms\WinViewer.cs:line 869
   at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
   at System.Windows.Forms.Control.WmPaint(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Now previously in our 2012 we were getting something similar to this when a control with the embedded control was displaying a report built inside Visual Studio.  We upgraded to Q3 2013's release, removed the older reports, added a class that builds the XML version (trdx files) and the error went away.  Now a different Out of Memory exception error (listed above) recently started occurring.  Originally the image we used was streamed from the database (for logos) but now they are local to the application (I cannot point to the post, but on your ASP forums, someone suggested doing that with other Telerik controls that used images).  Our app is a desktop app (non-wpf) that uses Telerik Reporting.  The above error only seems to occur in certain situations, so not every time.  it occurs on reports that vary in pages (1-75).  Our reports that go into the reportbook do not have this problem (avg 136 reports totaling ~900 pages).  We have 2 report viewers (2 separate user controls on same form) that display the reports.  One displays a single report while the other display the report book when all the single reports are loaded.

In 2012 release we were getting (using code behind version) about 80% of the clients were getting this error:
​ System.OutOfMemoryException: Out of memory.
   at System.Drawing.Image.FromStream(Stream stream, Boolean useEmbeddedColorManagement, Boolean validateImageData)
   at System.Drawing.Image.FromStream(Stream stream)
   at Telerik.ReportViewer.WinForms.DrawablePage.Draw(Graphics graphics, Rectangle rectangle)
   at Telerik.ReportViewer.WinForms.InteractivePageLayout.LayoutItem.DrawContent(Graphics graphics)
   at Telerik.ReportViewer.WinForms.InteractivePageLayout.DrawPages(Graphics graphics, Rectangle rectangle, Int32 pageNo)
   at Telerik.ReportViewer.WinForms.WinViewer.OnPaint(PaintEventArgs eventArgs)
   at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
   at System.Windows.Forms.Control.WmPaint(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.UserControl.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Now this could just be me, but I'm starting to think it's not the loading of our logo onto the report, but drawing the report itself since the logo is no longer read from the database but read from file.  In my case, we discovered that working with trdx files are easier to create a dynamic tables than the code behind version.

Here is a sample of how the report is built.

/// <summary>
/// Returns a Telerik Report for use in the Telerik ReportViewer
/// </summary>
/// <param name="reportInfo"> of the report to generate, see ReportInfo class</param>
/// <returns></returns>
public Telerik.Reporting.Report GetReport(ReportInfo reportInfo)
{
#region hallway monitors
if (reportInfo == null)
throw new NullReferenceException("ReportInfo is missing or null.");

if (reportInfo.Name == null)
throw new NullReferenceException("Report Name is missing or null.");

#endregion

XDocument doc = CreateXDocument(reportInfo); //the trdx file

// open the report
BufferedStream stream = new BufferedStream(new MemoryStream());
stream.Write(Encoding.ASCII.GetBytes(doc.ToString()), 0, doc.ToString().Length);
stream.Seek(0, SeekOrigin.Begin);
StreamReader sr = new StreamReader(stream);

System.Xml.XmlReaderSettings settings = new System.Xml.XmlReaderSettings();
settings.IgnoreWhitespace = true;

XmlDocument xmlDoc = GetXmlDocument(doc);
Telerik.Reporting.Report report;

using (System.Xml.XmlReader xmlReader = System.Xml.XmlReader.Create(sr, settings))
{
Telerik.Reporting.XmlSerialization.ReportXmlSerializer xmlSerializer = new Telerik.Reporting.XmlSerialization.ReportXmlSerializer();

report = (Telerik.Reporting.Report)xmlSerializer.Deserialize(xmlReader);
}

Telerik.Reporting.TextBox tbHeader = (Telerik.Reporting.TextBox)report.Items["pageHeaderSection1"].Items["textBoxHeader"];
tbHeader.Value = reportInfo.Title;

if (reportInfo.CompanyLogo != "" && reportInfo.CompanyLogo != null)
{
Telerik.Reporting.PictureBox pictureBoxCompanyLogo = (Telerik.Reporting.PictureBox)report.Items["pageHeaderSection1"].Items["pictureboxCompanyLogo"];
pictureBoxCompanyLogo.MimeType = reportInfo.CompanyLogoExt != "" ? "Image/" + reportInfo.CompanyLogoExt.ToUpper() : "";
pictureBoxCompanyLogo.Value = Image.FromFile(reportInfo.CompanyLogo);
}

foreach (TableInfo tableinfo in reportInfo.Tables)
{
Telerik.Reporting.Table table = (Telerik.Reporting.Table)report.Items["detailSection1"].Items[tableinfo.ReportTableName];
table.DataSource = tableinfo.DataSource;
}

return report;

}

​ private XmlDocument GetXmlDocument(XDocument document)
{
using (XmlReader xmlReader = document.CreateReader())
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlReader);
if (document.Declaration != null)
{
XmlDeclaration dec = xmlDoc.CreateXmlDeclaration(document.Declaration.Version,
document.Declaration.Encoding, document.Declaration.Standalone);
xmlDoc.InsertBefore(dec, xmlDoc.FirstChild);
}
return xmlDoc;
}
}

private XDocument CreateXDocument(ReportInfo reportInfo)
{
XDocument doc = new XDocument();

_isLandscape = reportInfo.Layout == ReportProperties.Layout.LANDSCAPE ? true : false;

doc.Add(new XElement(XML_NAME_SPACE + "Report"
, new XAttribute("Width", reportInfo.Layout.Width.ToString() + "in")
, new XAttribute("Name", reportInfo.Name)));

XElement rootItems = new XElement(XML_NAME_SPACE + "Items");
rootItems.Add(PageHeaderSection());
rootItems.Add(DetailSection(reportInfo));
rootItems.Add(PageFooterSection());

doc.Root.Add(rootItems);
doc.Root.Add(StyleSheets());
doc.Root.Add(PageSettings());

return doc;
}
n/a
Top achievements
Rank 1
Iron
 answered on 02 Jun 2021
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
Radek
Top achievements
Rank 2
Iron
Iron
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Richard
Top achievements
Rank 4
Bronze
Bronze
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?