ReportProcessor reportProcessor =
new
ReportProcessor( );
Telerik.Reporting.InstanceReportSource instanceReportSource =
new
Telerik.Reporting.InstanceReportSource( );
var reportToExport = reportBook;
instanceReportSource.ReportDocument =reportToExport;
RenderingResult result = reportProcessor.RenderReport(
"PDF"
, instanceReportSource,
null
);
string
fileName = result.DocumentName +
"."
+ result.Extension;
Response.Clear( );
Response.ContentType = result.MimeType;
Response.Cache.SetCacheability( HttpCacheability.Private );
Response.Expires = -1;
Response.Buffer =
true
;
Response.AddHeader(
"Content-Disposition"
,
string
.Format(
"{0};FileName=\"{1}\""
,
"attachment"
, fileName ) );
Response.BinaryWrite( result.DocumentBytes );
Response.End( );
Hey there,
I am trying to get the list of distinct values from a parameter which is of multivalue select.. Here is the exact scenario:
I have filter on my report table which takes a multivalue parameter.. This parameter is directly bound to one of the columns in report datasource. Now I need to access these multivalue parameter list outside of my table( in footer). The problem started when I attempted to get the distinct list of values in that parameter..
I could simply use =Join (", ",=Parameters.MyParam1.Value) which would concatenate all the values, but since the filter is directly bound to the report's data source, it returns duplicate values.
For example, when I set the value for MyParam1 to 'Gold', 'Silver', the parameter holds duplicate number of values depending upon number of rows in the report table..
How can I get around this to get the distinct values from MyParam1?
Hello,
We have old project where we had used Crystal Report as Reporting Tool. We are working on Asp.Net MVC project now and we are using Telerik Reporting in it.
Issue is that i am suppose to give the same look to the telerik reports as Crystal Reports which i am not able to achieve in some sections.
for instance i have attached 3 images one that displays the Crystal Report and other of Telerik Report. In Crystal Report the Height of the Details section gets set automatically no matter how many rows the the data source has,Height of the details section will be the same if we have 2 rows in data source or 10 rows in datasource to display.
In telerik this is not the case, the height of the details section gets set based on the numbers of rows that data source has. if i have only two rows to display then the height of the details will be set as per that and if i have 10 rows then height will be incremented accordingly.
as you can see in the image of Crystal Report which i uploaded, the details section is of fixed height and it has borders, i want to achieve same look in telerik, i can set the borders of Details section but if data source has less data then it will display small details section and then there will be white space and then the footer section.(i want the footer section to display at the bottom only, i have set PrintAtBottom property true). If i increase the height of details section then there will be white space area between two details items (check image 3). Is there any way i can achieve this look in Telerik where i can set the height of Details section and not having extra white space?
Regards,
Savan K. Parmar
Hi,
I am trying to create a report that includes a table dynamically generated, I will not use the viewer control, just I would like to generate the table from a DataTable but after compose the with the method "GenerateTable" and save the file I always get the error "An error has occurred while processing Table 'xxxx':
Table Body has 2 rows but 0 are expected"
What is wrong?, any help would be appreciated.
namespace
ReportLibrary
{
partial
class
GenericReport
{
#region Component Designer generated code
/// <summary>
/// Required method for telerik Reporting designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private
void
InitializeComponent()
{
Telerik.Reporting.Drawing.StyleRule styleRule1 =
new
Telerik.Reporting.Drawing.StyleRule();
this
.pageHeaderSection1 =
new
Telerik.Reporting.PageHeaderSection();
this
.detail =
new
Telerik.Reporting.DetailSection();
this
.pageFooterSection1 =
new
Telerik.Reporting.PageFooterSection();
((System.ComponentModel.ISupportInitialize)(
this
)).BeginInit();
//
// pageHeaderSection1
//
this
.pageHeaderSection1.Height = Telerik.Reporting.Drawing.Unit.Inch(1D);
this
.pageHeaderSection1.Name =
"pageHeaderSection1"
;
//
// detail
//
this
.detail.Height = Telerik.Reporting.Drawing.Unit.Inch(2D);
this
.detail.Name =
"detail"
;
//
// pageFooterSection1
//
this
.pageFooterSection1.Height = Telerik.Reporting.Drawing.Unit.Inch(1D);
this
.pageFooterSection1.Name =
"pageFooterSection1"
;
//
// GenericReport
//
this
.Items.AddRange(
new
Telerik.Reporting.ReportItemBase[] {
this
.pageHeaderSection1,
this
.detail,
this
.pageFooterSection1});
this
.Name =
"GenericReport"
;
this
.PageSettings.Margins =
new
Telerik.Reporting.Drawing.MarginsU(Telerik.Reporting.Drawing.Unit.Inch(1D), Telerik.Reporting.Drawing.Unit.Inch(1D), Telerik.Reporting.Drawing.Unit.Inch(1D), Telerik.Reporting.Drawing.Unit.Inch(1D));
this
.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.Letter;
styleRule1.Selectors.AddRange(
new
Telerik.Reporting.Drawing.ISelector[] {
new
Telerik.Reporting.Drawing.TypeSelector(
typeof
(Telerik.Reporting.TextItemBase)),
new
Telerik.Reporting.Drawing.TypeSelector(
typeof
(Telerik.Reporting.HtmlTextBox))});
styleRule1.Style.Padding.Left = Telerik.Reporting.Drawing.Unit.Point(2D);
styleRule1.Style.Padding.Right = Telerik.Reporting.Drawing.Unit.Point(2D);
this
.StyleSheet.AddRange(
new
Telerik.Reporting.Drawing.StyleRule[] {
styleRule1});
this
.Width = Telerik.Reporting.Drawing.Unit.Inch(6.125D);
((System.ComponentModel.ISupportInitialize)(
this
)).EndInit();
}
#endregion
private
Telerik.Reporting.PageHeaderSection pageHeaderSection1;
private
Telerik.Reporting.DetailSection detail;
private
Telerik.Reporting.PageFooterSection pageFooterSection1;
}
}
namespace
ReportLibrary
{
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Windows.Forms;
using
Telerik.Reporting;
using
Telerik.Reporting.Drawing;
/// <summary>
/// Summary description for GenericReport
/// </summary>
public
partial
class
GenericReport : Telerik.Reporting.Report
{
private
DataSet dataSet;
public
GenericReport(DataSet dataSet)
{
//
// Required for telerik Reporting designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
foreach
(DataTable dataTable
in
dataSet.Tables)
{
Telerik.Reporting.Table table =
null
;
table = GenerateTable(dataTable);
this
.detail.Items.Add(table);
}
}
private
Telerik.Reporting.Table GenerateTable(DataTable dataTable)
{
Telerik.Reporting.Table table =
new
Table();
table.Name = dataTable.TableName;
//Create columns
int
counterColumn = 0;
foreach
(System.Data.DataColumn column
in
dataTable.Columns)
{
//Add column
table.Body.Columns.Add(
new
Telerik.Reporting.TableBodyColumn(Telerik.Reporting.Drawing.Unit.Inch(1D)));
//Create group to include column
Telerik.Reporting.TableGroup tmpTableGroup =
new
Telerik.Reporting.TableGroup();
tmpTableGroup.Name =
"tableGroup"
+ counterColumn;
//Column textBox
Telerik.Reporting.TextBox tmpTextBox =
new
Telerik.Reporting.TextBox();
tmpTextBox.Name = column.ColumnName;
tmpTextBox.Value = column.ColumnName;
tmpTableGroup.ReportItem = tmpTextBox;
table.ColumnGroups.Add(tmpTableGroup);
table.Items.Add(tmpTextBox);
counterColumn++;
}
//Create rows
int
counterRow = 0;
foreach
(System.Data.DataRow row
in
dataTable.Rows)
{
table.Body.Rows.Add(
new
Telerik.Reporting.TableBodyRow(Unit.Pixel(50)));
for
(
int
i = 0; i < dataTable.Columns.Count; i++)
{
Telerik.Reporting.TextBox tmpTextBox =
new
Telerik.Reporting.TextBox();
tmpTextBox.Name =
"dd"
;
tmpTextBox.Value = row.ItemArray[i].ToString();
tmpTextBox.Size =
new
Telerik.Reporting.Drawing.SizeU(Telerik.Reporting.Drawing.Unit.Inch(1D), Telerik.Reporting.Drawing.Unit.Inch(1D));
table.Body.SetCellContent(counterRow, i, tmpTextBox);
table.Items.Add(tmpTextBox);
}
counterRow++;
}
table.Location =
new
Telerik.Reporting.Drawing.PointU(Telerik.Reporting.Drawing.Unit.Inch(0.20000000298023224D), Telerik.Reporting.Drawing.Unit.Inch(0.30000001192092896D));
return
table;
}
}
}
Hi,
I have report which dynamically create a htmltextbox. Upon exporting to Excel via Report Viewer, the htmltextbox where merge. Is it possible to set it to nowrap and not merge programatically?. (Please see Attachment.)
I tried to set can grow to false/true but no luck.
Appreciate your help.
Thank you.
private
Telerik.Reporting.HtmlTextBox CreateTxtHeader(
string
FieldName,
double
swidth,
double
PosX,
double
PosY,
bool
isBold)
{
Telerik.Reporting.HtmlTextBox txtHead =
new
Telerik.Reporting.HtmlTextBox();
txtHead.Size =
new
Telerik.Reporting.Drawing.SizeU(Unit.Inch(swidth), Telerik.Reporting.Drawing.Unit.Inch(0.3));
txtHead.Location =
new
Telerik.Reporting.Drawing.PointU(Telerik.Reporting.Drawing.Unit.Inch(PosX), Telerik.Reporting.Drawing.Unit.Inch(PosY));
txtHead.Style.BorderStyle.Default = BorderType.None;
txtHead.Style.Font.Bold = isBold;
txtHead.Style.Font.Size = Telerik.Reporting.Drawing.Unit.Point(intScale);
txtHead.Style.Font.Name =
"Arial"
;
txtHead.Style.TextAlign = HorizontalAlign.Left;
txtHead.Style.VerticalAlign = VerticalAlign.Middle;
txtHead.StyleName = FieldName;
txtHead.Value = FieldName;
txtHead.CanGrow =
true
;
return
txtHead;
}
-Im using Telerik Reporting Q3 2015 9.2.15.930
Hi,
I need to modify, when loading, a picturebox value from a report generated in TRDX and kept in a DB.
I know that's maybe because my knowlage is limitated... but after several tries and too many hours searching I can't find the correct way. Anyone can help??
I'm develloping in asp.net webforms, c#, VS2013.
Here'a a code snippet of my question:
XmlReportSource mapa = new XmlReportSource();
string xml = dal.LeMapa(connection, Session["Report"].ToString());
mapa.Xml = xml.Replace("DBDev",connection);
mapa.Parameters.Add("Sigla", Session["Sigla"].ToString());
ReportViewer.ReportSource = mapa;
XmlReportSource instanceReportSource = (XmlReportSource)this.ReportViewer.ReportSource;
Report report = (Report)instanceReportSource.ToString();
PictureBox img = report.Items.Find("logo", true)[0] as PictureBox;
DataTable dt = dal.LeLogoEmpresa(Connection);
if (dt.Rows.Count > 0)
foreach (DataRow dr in dt.Rows)
{
img.Value = dr["Logotipo"];
img.MimeType = dr["ImgTip"].ToString();
break;
}
How canI find the picturebox??
Thanks.
I created a report and am exporting it as an XLS. How do I set the Scale of the report so that when I open it up in Excel it shows as 60% instead of 100%?
thanks
Hello,
I have designed a report with the report wizzard and used the table template for the layout. The dataSource comes from an azure sql database. In preview and html preview I get all records displayed properly on one single page ( ... notice that the entry in Report.Properties.ApplicationSettings.DataSource is set to 'none' !!).
Now I want to group the records, but when I go to add new group, in the 'Edit Grouping / new expression' there is no field to select.
Otherwise, when I enter in Report.Properties.ApplicationSettings.DataSource the same dataSource that I selected when the report was built with the wizzard, I can select a field in the 'Edit Grouping' dialog -> but then in preview and html preview I get 101 pages each with all the same records on it (besides it takes a lot of time to show them eventually).
Please help
Regards, Manfred
Hi,
I was using the Telerik reporting which uses SubReports, everything was working on just fine on Telerik Reporting Q1 2016 SP1 (version 10.0.16.204) but upon updating the version to telerik reporting R3 2016 (version 10.2.16.914) it stopped working, it looks like the lifecycle has changed.