Telerik Forums
Reporting Forum
5 answers
1.0K+ views
Hello,

I'm currently working with telerik reporting, and I'm displaying a chart for every row of the datasource of the report.
The chart displays a stacked bar chart type. I have a very similar issue like this post:

The difference is that I'm using a report to display the chart, and since I'm in the environment of the report the chart control have only 4 events in which the ItemDataBoundItem, the code I wrote seems to have no visual effect over the chart:

Private Sub chtDefectsByFamily_ItemDataBound(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chtDefectsByFamily.ItemDataBound 
        Dim ChartItem As Telerik.Reporting.Processing.Chart = DirectCast(sender, Telerik.Reporting.Processing.Chart) 
        Dim ci As Telerik.Reporting.Chart = TryCast(ChartItem.ItemDefinition, Telerik.Reporting.Chart) 
        For Each seriesItem As Telerik.Reporting.Charting.ChartSeries In ci.Series 
            seriesItem.Appearance.LabelAppearance.LabelLocation = Charting.Styles.StyleSeriesItemLabel.ItemLabelLocation.Inside 
            seriesItem.Appearance.TextAppearance.TextProperties.Color = Color.White 
            For Each serieItem As Telerik.Reporting.Charting.ChartSeriesItem In seriesItem.Items 
                If serieItem.YValue = 0 Then 
                    serieItem.Label.Visible = False 
                End If 
                serieItem.SetDirty() 
            Next 
            seriesItem.SetDirty() 
        Next 
    End Sub 

Is it possible to modify the chart during/after the binding of the data?? or is there any other way to hide the labels before the chart is shown?
Deepak Shakya
Top achievements
Rank 1
 answered on 03 Feb 2011
0 answers
104 views
I have a report where there are a set of known values which are dynamically set.  The detail section shows numbers that are used for comparative purposes.  I am looking to create a binding or some other method that will evaluate the difference between the two values.

Example: 

Design surface:
In groupheadersection1 I have a textbox  txt1
In detailsection1  I have a textbox txt2 with a value of =fields.someval
In detailsection1 I have a textbox  txt3 which needs to show the difference between txt1.value and txt2.value

Code:
Partial Public Class tstClass
    Inherits Telerik.Reporting.Report
    Public Sub New(ByVal _ds As DataSet)
        InitializeComponent()
        txt1.Value = _ds.Tables(0).Rows(0).Item(0)
        Me.DataSource = _ds.Tables(1)
    End Sub



Accessing the value via expressions seems to fail.  I created a binding, to a public shared function, but of course the shared function cannot access txt1.

Any ideas on how to get the value for txt1.value-txt2.value??

Joel
Top achievements
Rank 2
 asked on 02 Feb 2011
1 answer
66 views

I have a website that uses the report control. In the development environment, the control works perfectly and you can export the report to all available formats. In the QA environment, without any change in the code, the XPS format disappears from the list of formats you can export the report. In the production environment also disappear Excel and PDF formats (essential for me). What could be happening? What should I do to display these export formats?

Thanks in advance.

Steve
Telerik team
 answered on 02 Feb 2011
3 answers
304 views
Hello.
We have a problem with printing reports "Telerik Reporting", to see the document on the screen goes well, but when printing is defective, the characters saen a bit garbled.The printer we are using is a dot matrix Epson LX300 +, the server operating system where the application installed is windows 2008 server and workstations from where we made prints are windows xp, windows vista, windows 7. Most of our clients manage these types of printers. Obviously the printer is working properly and we have made prints from other applications and does it well. We also print a report of those who are on the page of you and the result was flawed. I wonder if they have any idea what may be happening, thanks
Massimiliano Bassili
Top achievements
Rank 1
 answered on 02 Feb 2011
6 answers
280 views

I have a very simple report (a blank one actually with a title) that I am trying to export as a pdf file. If I run it from a console app with the same code, then it creates the pdf file correctly. If I try it from within a web page it crashes. Same report works fine in development from a web page, just in production it doesnt work.

Its obviously looking for something, but I cant work out what.

Anyone have any idea what could be missing?

The bin folder for the web app includes Telerik.Reporting.dll, as well as Telerik.ReportViewer.WebForms.dll just in case.

The stack trace is:

Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.   
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.   
 
Exception Details: System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.  
 
Source Error:   
 
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.    
 
Stack Trace:   
 
 
[ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.]  
   System.Reflection.Module._GetTypesInternal(StackCrawlMark& stackMark) +0  
   System.Reflection.Assembly.GetTypes() +105  
   Telerik.Reporting.Processing.Expressions.NameSpaceResolver.Resolve(Assembly assembly) +14  
   Telerik.Reporting.Processing.Expressions.ExpressionContext.ResolveNameSpaces() +97  
   Telerik.Reporting.Processing.Expressions.ExpressionContext..ctor(Type methodInfoSourceType) +159  
   Telerik.Reporting.Processing.ReportProcessor.ProcessReport(IReportDocument reportDocument, String& documentName) +67  
   Telerik.Reporting.Processing.ReportProcessor.RenderReport(String format, IReportDocument reportDocument, Hashtable deviceInfo, CreateStream createStreamCallback, String& documentName) +263  
   Telerik.Reporting.Processing.ReportProcessor.RenderReport(String format, IReportDocument reportDocument, Hashtable deviceInfo) +108  
   CCConnect.TestPage.TestButton_Click(Object sender, EventArgs e) +197  
   System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e) +111  
   System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +79  
   System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10  
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13  
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175  
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565  
 
   
 
 
--------------------------------------------------------------------------------  
Version Information: Microsoft .NET Framework Version:2.0.50727.3053; ASP.NET Version:2.0.50727.3053  

The simple code is:

        protected void TestButton_Click(object sender, EventArgs e)  
        {  
            TestReport r = new TestReport();  
            Hashtable deviceInfo = new Hashtable();  
            deviceInfo["FontEmbedding"] = "Subset";  
            Telerik.Reporting.Processing.ReportProcessor RP = new Telerik.Reporting.Processing.ReportProcessor();  
            byte[] buffer = RP.RenderReport("PDF", r, deviceInfo).DocumentBytes;  
 
            string myPath = Properties.Settings.Default.MerchantRequestLocalPath;  
            string pdfFile = myPath + @"\" + DateTime.Now.ToString("HHmmss") + ".pdf";  
            FileStream fs = new FileStream(pdfFile, FileMode.Create);  
 
            fs.Write(buffer, 0, buffer.Length);  
            fs.Flush();  
            fs.Close();  
 
Rob
Top achievements
Rank 1
 answered on 02 Feb 2011
0 answers
114 views
I have got a deployment issue with a report that has got a chart in. I have deployed this to a test server running Windows Server 2008 and all was good, and of course the report runs in my development environment (Win 7).

However when I try to deploy this to the live server (Windows 2003 R2 64bit Service Pack 2) the report fails to run and generates the following exception, I have tried all of the permission suggestions and I cannot find anything else wrong. I am after any suggestions that will help get to the bottom of this please.

Event code: 3005

Event message: An unhandled exception has occurred.

Event time: 01/02/2011 22:23:19

Event time (UTC): 01/02/2011 22:23:19

Event ID: bdee2576e7304b0caac8745211abaed7

Event sequence: 43

Event occurrence: 1

Event detail code: 0

 

Application information:

    Application domain: /LM/W3SVC/488693489/Root-1-129410725642165128

    Trust level: Full

    Application Virtual Path: /

    Application Path: F:\Orchestrator\Web Sites\Test\

    Machine name: JR-ORCHESTRATOR

 

Process information:

    Process ID: 5664

    Process name: w3wp.exe

    Account name: NT AUTHORITY\SYSTEM

 

Exception information:

    Exception type: ExternalException

    Exception message: A generic error occurred in GDI+.

 

Request information:

    Request URL: http://notpubliched/Telerik.ReportViewer.axd?instanceID=465f332dcfd94f899feee90af07ccb2f&culture=en-GB&uiculture=en-US&optype=Report&PageIndex=0&Refresh=true

    Request path: /Telerik.ReportViewer.axd

    User host address: IP Address

    User: sa

    Is authenticated: True

    Authentication Type: Forms

    Thread account name: NT AUTHORITY\SYSTEM

 

Thread information:

    Thread ID: 9

    Thread account name: NT AUTHORITY\SYSTEM

    Is impersonating: False

    Stack trace:    at System.Drawing.Image.Save(Stream stream, ImageCodecInfo encoder, EncoderParameters encoderParams)

   at System.Drawing.Image.Save(Stream stream, ImageFormat format)

   at Telerik.Reporting.HtmlRendering.ChartRenderer.SaveImageInStream(HtmlRenderingContext context, Image image, String mimeType)

   at Telerik.Reporting.HtmlRendering.ChartRenderer.RenderInternal(ProcessingElement processingElement, HtmlRenderingContext context)

   at Telerik.Reporting.HtmlRendering.HtmlItemRender.Telerik.Reporting.HtmlRendering.IReportItemRender.Render(ProcessingElement processingElement, RenderingContext context)

   at Telerik.Reporting.HtmlRendering.RenderingContext.Render(ReportItemBase item)

   at Telerik.Reporting.HtmlRendering.Matrix.RenderInternal(HtmlRenderingContext context)

   at Telerik.Reporting.HtmlRendering.Matrix.Render(HtmlRenderingContext context)

   at Telerik.Reporting.HtmlRendering.ReportSectionBaseRenderer.RenderInternal(ProcessingElement processingElement, HtmlRenderingContext context)

   at Telerik.Reporting.HtmlRendering.HtmlItemRender.Telerik.Reporting.HtmlRendering.IReportItemRender.Render(ProcessingElement processingElement, RenderingContext context)

   at Telerik.Reporting.HtmlRendering.RenderingContext.Render(ReportItemBase item)

   at Telerik.Reporting.HtmlRendering.HtmlPage.RenderReportSections(HtmlWriter bodyWriter)

   at Telerik.Reporting.HtmlRendering.HtmlPage.RenderBody(HtmlWriter bodyWriter)

   at Telerik.Reporting.HtmlRendering.HtmlPage.Render(HtmlTextWriter primaryWriter, HtmlRenderingContext renderingContext)

   at Telerik.Reporting.HtmlRendering.HtmlReport.Render(HtmlTextWriter writer)

  at Telerik.Reporting.HtmlRendering.HtmlRenderingExtension.Telerik.Reporting.Processing.IRenderingExtension.Render(Report report, Hashtable renderingContext, Hashtable deviceInfo, CreateStream createStreamCallback, EvaluateHeaderFooterExpressions evalHeaderFooterCallback)

   at Telerik.Reporting.Processing.ReportProcessor.Render(IList`1 reports, ExtensionInfo extensionInfo, Hashtable renderingContext, Hashtable deviceInfo, CreateStream createStreamCallback)

   at Telerik.Reporting.Processing.ReportProcessor.RenderReport(String format, IReportDocument reportDocument, Hashtable deviceInfo, Hashtable renderingContext, CreateStream createStreamCallback)

   at Telerik.ReportViewer.WebForms.ServerReport.Render(HttpResponse response, String format, Int32 pageIndex)

   at Telerik.ReportViewer.WebForms.ReportPageOperation.PerformOperation(NameValueCollection urlQuery, HttpContext context)

   at Telerik.ReportViewer.WebForms.HttpHandler.ProcessRequest(HttpContext context)

   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

 

Greg Duffield
Top achievements
Rank 1
 asked on 02 Feb 2011
4 answers
259 views
Hi,

While report viewer correctly identifies any DateTime field data type and applies proper formatting. The ExportToExcell operation yield the the same field as double (or float).

The work around is to force Telerik.Reporting.TextBox.Format to "{0:G}".

I have published the test project here: http://dl.dropbox.com/u/2192462/Telerick.Reporting.Bug/WpfApplication1.7z

Cheers,


taras
Top achievements
Rank 1
 answered on 01 Feb 2011
2 answers
139 views
I have read through the documentation and viewed the Telerik TV video on Drilldown Action, but cannot get it to work like I need.  I have a report with a parent group of Employee Team Names and a child group containing the employees in each of the teams.  The parent group has just the team name and has no action.  The employee group has the employee name, which has the toggle visibility action set.  There is also a couple of other fields of data for each employee in this group level but they do not have any action set.  Finally I have a detail section containing  detail data I want to display for each employee when I expand the icon on the employee name.  The edit toggle target for the employee name action is the detail section name and the "expand" check box is unchecked.  What I expected was a report that listed each team name and the employee in that team with an unexpanded icon next to each employee name, however what I get when I preview the report is all of the detail section data for each employee already expanded.  I can click on the icon and hide the detail data, but what I want when the report is generated is the exact opposite.  The visible properties for each field is the detail section is obviously set to true.  I have tried different combinations but nothing gives me what I want.  I hope this somewhat lengthy explanation of the situation is clear.  Thanks in advance.
Chuck Harrington
Top achievements
Rank 1
 answered on 01 Feb 2011
1 answer
100 views
Hi all

I have a report that contains several textboxes in detail band. They don't fit on a single row so I've created a second and a third row of textboxes. The entire detail section looks like a table, but it's not, because the textboxes have different widths.

Some of the values overflow, so the corresponding textboxes increase their height to accomodate the text. In this case they overlap over the textboxes beneath them. I cant' dock/anchor the textobxes because they still don't show correctly and I am kind of stuck. What I actually need is "dock top margin to the bottom margin of the control above; if that one grows, you move down, and also ALL the texboxes next to you"

I am attaching a screenshot. in the red rectangle there's a row of textboxes, which I need to be the same height. The second one is taller, but I need the one in the left and the two in the right to have the same height.

Also, if any of the textboxes above increases it's height, I need ALL the textboxes to move down to avoid overlap.

Is this possible?
Peter
Telerik team
 answered on 01 Feb 2011
1 answer
364 views
Hi! I have the following code, but i cant get the muliple values in parameter multi value select to be passed in. What is the correct way to pass an an integer array to my method? Thankx.  Below is the code: the method GetManyCustomers takes in int[] .I also put this code in the report constructor.
CustomerFactory f = new CustomerFactory();
              Telerik.Reporting.ReportParameter param1 = new Telerik.Reporting.ReportParameter();
              param1.Name = "CustomerName";
              param1.Type = Telerik.Reporting.ReportParameterType.Integer;
              param1.AllowBlank = false;
              param1.Text = "FirstName";
              param1.Visible = true;
              param1.MultiValue = true;
              param1.AvailableValues.DataSource = f.GetCustomerNames();
              param1.AvailableValues.ValueMember = "=Fields.CustomerID";
              param1.Value = 0;
              this.ReportParameters.Add(param1);
              this.DataSource = f.GetManyCustomers(new int[] { Int32.Parse("=Parameters.CustomerName.Value") });
Peter
Telerik team
 answered on 01 Feb 2011
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?