I am using Telerik HTML5 Report Viewer Template where there are options to export PDF,CSV etc. Getting an out of memory exception while exporting to PDF because report has lot of images.
I am setting DataMember attribute to a method name to fetch report data. DataMember method is called in many instances like when report is being loaded or exported or when previewed.
Is there a mechanism by which I can get the information about what triggered the DataMember method.
For e.g. if Export to PDF is clicked how can I know that Export to PDF has triggered the DataMember method.
I also need suggestion on following stuff.
If I create a custom export to PDF button by modifying Telerik HTML5 Report Viewer Template
1. How can I hook my server side API to that button?
2. How can I pass the report parameters to that API?
| Value cannot be null. Parameter name: instance |
Is Telerik Reporting built on top of an xml foundation?
For example, with rdlc, rdlc files are just xml files.
Are the files which underpin Telerik Reporting xml files, or something different?
Thanks
Is there anyway to print a list of just the columns from that page on a crosstab report?
My report column heading is just a code an I would like to give more detail about that code at the bottom of each page but would only want to explain the codes that have printed on that page.
For example if I a 2 page report on page 1 the columns that print are ABC, DEF, GHI I would like to print a list after the rows that would look like
ABC - Explanation
DEF- Explanation
GHI - Explanation
I'm not sure if this is possible but I hope my explanation makes some sense.
Thanks

public static void Register(HttpConfiguration config){ // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); // configure routes for telerik reporting Telerik.Reporting.Services.WebApi.ReportsControllerConfiguration.RegisterRoutes(config);}I have a report that contains a chart and it has category groups that are somewhat long. I'd like to either specify the max size of these so that it wraps the text down or be able to insert a line break in the Label formula. I can't seem to figure out how to do that in the editor and was hoping someone else knew how to do it. See the screen shot attached for an example of the long labels. The middle one I'd like to at least have as "Shops at Branson Meadows" on one line and Parking Zone 1 on the second.

How do I display shapes on a map? I have a list of co-ordinates in WKT format that make up simple polygons. I want to fill each polygon with a colour and display it on a map for the report.
Do I use a choropleth, or a ShapeMapSeries, or something else?
I've tried following this documentation and doing it programmatically, but I get this unhelpful error:
An error has occurred while rendering the report: System.NullReferenceException: Object reference not set to an instance of an object.
at Telerik.Reporting.XamlRendering.DocumentWriting.PrimitiveWriter.WriteText(TextElement textElement)
at Telerik.Reporting.XamlRendering.DocumentWriting.PrimitiveElementWriter.Visit(TextElement textElement)
at Telerik.Reporting.Processing.Primitives.TextElement.Accept(PrimitiveElementVisitor visitor)
at Telerik.Reporting.XamlRendering.DocumentWriting.XamlGraphWriter.Write(PrimitiveElement primitiveElement)
at Telerik.Reporting.Processing.GraphWriter.<WriteGraphArea>b__4(PrimitiveElement a)
at Telerik.Reporting.EnumerableExtensions.ForEach[T](IEnumerable`1 source, Action`1 action)
at Telerik.Reporting.Processing.GraphWriter.WriteGraphArea(GraphArea graphArea)
at Telerik.Reporting.Processing.GraphWriter.Write(Graph g)
at Telerik.Reporting.XamlRendering.DocumentWriting.GraphWriter.WriteDataItemContent(LayoutElement element, ElementPageInfo pageInfo)
at Telerik.Reporting.XamlRendering.DocumentWriting.DataItemWriter.WriteContent(LayoutElement element, ElementPageInfo pageInfo)
at Telerik.Reporting.XamlRendering.XamlWriter.WriteStartElement(LayoutElement element, ElementPageInfo pageInfo)
at Telerik.Reporting.BaseRendering.PageHandler.Telerik.Reporting.Paging.IPageHandler.StartElement(LayoutElement element, ElementPageInfo info)
at Telerik.Reporting.Paging.PageStartElement.AddToPage(IPageHandler handler)
at Telerik.Reporting.Paging.PageElementLayer.AddToPage(IPageHandler handler)
at Telerik.Reporting.Paging.PageElementManager.AddToPage(IPageHandler handler)
at Telerik.Reporting.Paging.PageCompositionBase.AddElementsToPage()
at Telerik.Reporting.Paging.PageCompositionBase.SendPhysicalPages()
at Telerik.Reporting.Paging.PageCompositionBase.OutputPage()
at Telerik.Reporting.Paging.PageCompositionBase.CreatePages()
at Telerik.Reporting.Paging.PagerBase.Telerik.Reporting.Paging.IPager.CreatePages(IPageHandler handler, Report report)
at Telerik.Reporting.BaseRendering.RenderingExtensionBase.Render(Report report, Hashtable renderingContext, Hashtable deviceInfo, CreateStream createStreamCallback, EvaluateHeaderFooterExpressions evalHeaderFooterCallback)
Here is an example of the code I'm using:
ObservableCollection<PrettyShape> data = GetTestData();var myReport = new Report();var detail = new DetailSection { KeepTogether = true };var testGroup = new MapGroup();var detailPanel = new Panel{ Docking = DockingStyle.Top, Size = new SizeU(Unit.Pixel(600), Unit.Pixel(400)), Items = { new Map { Size = new SizeU(Unit.Pixel(600), Unit.Pixel(450)), Location = new PointU(Unit.Pixel(0), Unit.Pixel(50)), TileProvider = new GenericTileProvider { UrlTemplate = "url of tile provider goes here - tested in WPF RadMap" }, Projection = new MercatorProjection(), DataSource = data, Series = { new ShapeMapSeries { ShapeMapGroup = new ShapeMapGroup(), SeriesGroup = testGroup, ColorData = "=Fields.FillColour", SourceType = new WellKnownTextSourceType { SpatialField = "=Fields.BoundaryPoints" } } }, SeriesGroups = { testGroup }}detail.Items.Add(detailPanel);myReport.Items.Add(detail);MyReportViewer.ReportSource = new InstanceReportSource { ReportDocument = myReport };MyReportViewer.RefreshReport();
and here is the data object:
public class PrettyShape{ public string BoundaryPoints { get; set; } public string FillColour { get { //various logic return "LimeGreen"; } }}
ObservableCollection<PrettyShape> GetTestData()
{
var list = new List<PrettyShape>
{
new PrettyShape{ BoundaryPoints = "POLYGON ((-22.635025359284 118.120505304517, -22.635025359284 118.103713989258, -22.64653164056320 118.103713989258, -22.64653164056320 118.120505304517))" }
};
return new ObservableCollection<PrettyShape>(list);
}