The report processor renders a report to XLSX format and adds a BOM (EF BB BF) to every embedded XML file. This is causing some open source libraries to fail to load the XLSX file, which is an issue for some of our customers.
var deviceInfo = new System.Collections.Hashtable();
var reportProcessor = new Telerik.Reporting.Processing.ReportProcessor();
var result = reportProcessor.RenderReport("XLSX", instanceReportSource, deviceInfo);
The work-around is to load the XLSX file in Excel (which apparently ignores the BOM) and then save it (which removes the BOM).
I have read that the BOM is optional (and undesirable for compatibility) for UTF-8 encoded files, which is how the report processor renders XLSX.
Please remove the BOM, or add a Device Info setting "WriteBOM = true/false", similar to the CSV export device info.
Thanks, much appreciated!
Need to support installing and running reporting server restful API from within linux.
As of today, the only way to access the Report definition object from an expression is by using "ReportItem" global object and doing something like this:
public static MyBusinessObject GetMyBusinessObject(ReportItem item)
{
return ((MyReportType)item.Report.ItemDefinition)._myBusinessObject;
}
It's very inconvinient + it does not work in Parameter's Value/Text/AvailableValues expressions (because there is no ReportItem).
I think, the good and convinient way to work this around would be to have a new global object, named "Report", available in expressions.
Japanese current GS1 QR code format guideline is using binary code for control code like '0x1d', '0x1e', '0x04'. Please check out the attached file. The guideline is compliant with ISO15394(JIS-X-0515). Telerik barcode item can print only text now. Then we cannot print the GS1 QR by telerik barcode item.
The ability to add these types of images to reports would be incredible. We deal with numerous companies in the manufacturing sector. These customers have drawings that they would like to print along with their reports (think of a production order to build something, we show a list of the materials to use and the drawing/cad would be required).
We create many legal forms, which use nested ordered lists. In htmlTextBox for reporting, we'd like to apply styles like upper-alpha, lower-alpha, etc to the ol tag. Currently, the only numbering for an ol is 1, 2, 3. CSS ability to set the style at depth (like ol ol) would be best.
<ol>
<li>1. text</li>
<li>2. text
<ol>
<li>a. text
<ol>
<li>i. text</li>
<li>ii. text</li>
</ol>
</li>
<li>b. text</li>
</ol>
</li>
</ol>
In the Configure Object Data Source Wizard, add a method of filtering the displayed Business Objects. Where a large number of Business are display, scrolling can be painful to find the required one.
Make the F5 key (refresh) in the Report Viewer programmatically controllable by using events tied to the viewer. For example, I want to disable the F5 refresh functionality and add my own functionality when the F5 key is pressed. I currently have the ability to disable the refresh icon (ShowRefreshButton=false), but not the F5 key button.
I'm using Silverlight and the MVVM pattern with my current project. I have a listbox where the currently selected item is bound to a single telerik report viewer control. When the user selects an item in the listbox, the selected item changes and triggers the report to be displayed in the report viewer control. This all works as expected. My issue is that when the user goes back to a previously selected report, the report viewer sends a new report request to the server rather than trying to retrieve the cached report. I did a little bit of digging and found the DataContext of the telerik report viewer is a ReportViewerModel that has a CurrentSessionID property. On a new report request the CurrentSessionID is set to null. I'd like to store the CurrentSessionID after a report is rendered. That way if a user goes back to a report that's already been run, I can set the CurrentSessionID. Unfortunately, the CurrentSessionID property is a private property and I can't set it's value. Is it possible to make CurrentSessionID a public property? How can I accomplish this?
As reports are commonly based on dates, some means of doing date addition and subtraction would be beneficial.
The only way to retrieve the Month Name is to use a User Function. We have some issues where User Functions cause problems in deployment, when using the Stand-Alone Report Designer. This seems like a basic functionality that's missing.
See the following scenario: 1 You have a report previewing inside an iframe. 2 That report contains a textbox with an action that navigates to an URL. If you click in the textbox while previewing the report, the whole page navigates away to the specified URL. It would be nice if only the iframe gets refreshed in that case. Thank you
When generating a report with multiple tables provide the ability to send these tables to different workbook tabs when exporting to Excel
I had a very challenging time getting Telerik Reports to work with my business objects. I'm not the only one -- see this thread: http://www.telerik.com/forums/how-to-use-object-data-source-in-report-designer This could be improved by: 1. Don't make users manually edit <Telerik.Reporting>. Create a UI in the designer where DLL's can be manually selected. 2. If there are errors loading the DLL's in <Telerik.Reporting>, tell the user, rather than failing silently, which is the current behavior. Importing reports from DLL's has the same silent-failure behavior: if there's something not quite right about the DLL's (wrong architecture setting, for example), you just see "no reports to import" rather than the actual error (bad file format, or whatever). I think a little work on the user experience around custom business objects would make new users who want to use the stand alone report designer in this way much happier. I was really surprised and frustrated that a modern product would fail like this with no exposed error messages.
With reference to support ticket 992325 where the behaviour of making minute changes to the measurements of grid columns occurs inadvertently I would like to suggest that this is changed and does not happen, i.e. improve the handling of floating point numbers in the serialization/deserialization process. It causes noise in the source control history of the file. Note that this behaviour is not apparent with comparable reporting solutions, e.g. SSRS/RDLC files.
In the document map I would like to list products by name asc. In my report, products are listed by sales desc and I have over 200 products. In order to find them quickly I would like to use the document map.
Note: This is related to Support Ticket #985541
When generating a report, we'd like to use a font which is not installed on the system, but which is distributed with our application in a sub-directory of our application's install directory as a .ttf font file. As part of application initialization, we're making the font available to the application using the below code.
private static PrivateFontCollection _privateFontCollection;
if (_privateFontCollection == null)
{
string fontPath = "";
try
{
_privateFontCollection = new PrivateFontCollection();
var exePathF = System.Reflection.Assembly.GetExecutingAssembly().Location;
var exeDirF = System.IO.Path.GetDirectoryName(exePathF);
fontPath = System.IO.Path.Combine(exeDirF, "sub dir with font file", "fontfile.ttf");
_privateFontCollection.AddFontFile(fontPath);
}
catch (Exception ex)
{
Debug.WriteLine("Exception adding font file, " + fontPath + ", " + ex);
}
}
With the above in place, we're able to specify the font face name provided by the .ttf file and the report works and correctly shows the font. The issue is when we export to PDF. It appears that even when we request full font embedding, the font must be installed on the machine (at the time the PDF is created) in order to be embeded in the PDF file.
What we need is to be able to create a PDF with the font embedded but without having installed the font to the machine. i.e. the PDF generation code needs to be able to handle a font which is not installed but which is added to the application via the PrivateFontCollection class and embed that font in the PDF file.
This is not a clone. It's a new request I had to add, since the old was closed with a technically fault answer. By technically fault I mean possible, but in real scenario unusuable. F.e Jasper's SubReports have a property called DataSource. The sub-reporst uses this dataSOurce for rendering it content. The DataSource is always set on the Main report. Everything via designer, no need for coding. So I'd like to see such a possibility in telerik reports. The suggested solution - with the bindings http://www.telerik.com/forums/how-to-bind-the-datasource-of-a-subreport-in-the-designer is technically wrong. It assumes that the child report knows at which level he resides inside the main report. The child report (or it's binding) should have not such info embedded. Let's see on an example. Let's have a dataset: User.Address User.PostalAddress User.Wife.Address User.Wife.PostalAddress The dataset should be bound to the main report. The main report should have 2 sub-reports (address and postal addres). It can have an another sub-report (for wife data) which then would again have 2 sub-reports inside for addresses. Using the technically wrong solution, the addresses for the main user should have a binding expr. like: =ReportItem.Parent.DataObject.xy and the wife's addresses have like: =ReportItem.Parent.Parent.DataObject.xy There is a big problems with such a binding: the child must know the hierarchy of the data. The technically clean solution is to have a dataset assigned to the main report. When adding a sub-report to the main report, via binding we should set the new data-source for the sub report. something like: MainReport.Data = dataSource. SubReportAddress = dataSourceOfTheCurrentReport.Address. SubReportWife = dataSourceOfTheCurrentReport.Wife and inside "wife report" the next sub-report for address address should have a binding again like: SubReportWifesAddress = dataSourceOfTheCurrentReport.Address
We'd like to distribute the standalone report tool to our clients and provide data through a web service. We don't want to have to redistribute a dll everytime we make new data available. The standalone report tool should be able to query our webservice for what data is available and then allow the client user to create reports from it. i.e. obtain list of table names dynamically as well as their column names and data. A possible solution is to allow the tool to view and interact with classes in an external assembly that are dynamically generated with Reflection.Emit.