I have several reports that are built dynamically that stopped working after we upgraded to the Q3 2009 release, using version 3.2.9.1211. I tried setting the ReportViewer's EnableViewState property to false and that had no impact on the problem. When the report is generated a 1-page blank report appears.
I took one of the Telerik sample provided on this forum and put it in a small, much simpler project. I receive the exact sample behavior. Here is the code that I am using:
using
System;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Data;
using
System.Configuration;
using
System.Web.Security;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
using
Telerik.Web.UI;
using
Telerik.Reporting;
using
Telerik.Reporting.Drawing;
public
partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Telerik.Reporting.
Report rpt = new Telerik.Reporting.Report();
DataSet ds = new DataSet();
ds.Tables.Add();
DataTable table = ds.Tables[0];
int columnCount = 3;
int rowCount = 1000;
//Add columns
for (int column = 0; column <= columnCount - 1; column++)
{
table.Columns.Add(
"Column" + (column + 1).ToString(), typeof(string));
}
//Add rows
for (int row = 0; row <= (rowCount - 1); row++)
{
string[] rowVals = (string[])Array.CreateInstance(typeof(string), columnCount);
DataRowCollection rowCollection = table.Rows;
for (int column = 0; column <= columnCount - 1; column++)
{
rowVals[column] =
"value_" + (column + 1).ToString() + "_" + (row + 1).ToString();
}
table.Rows.Add(rowVals);
}
rptViewer.Report = GenerateReportDefinition(
ref ds);
rptViewer.RefreshReport();
}
private Telerik.Reporting.TextBox CreateTxtHeader(string FieldName, int i)
{
Telerik.Reporting.
TextBox txtHead = new Telerik.Reporting.TextBox();
txtHead.Value = FieldName;
return txtHead;
}
private Telerik.Reporting.TextBox CreateTxtDetail(string FieldName, int i)
{
Telerik.Reporting.
TextBox txtHead = new Telerik.Reporting.TextBox();
txtHead.Value =
"=[" + FieldName + "]";
return txtHead;
}
Telerik.Reporting.
Report GenerateReportDefinition(ref System.Data.DataSet dataSource)
{
Telerik.Reporting.
Report report1 = new Telerik.Reporting.Report();
report1.DataSource = dataSource;
int count = dataSource.Tables[0].Columns.Count - 1;
Telerik.Reporting.Drawing.
Unit x = Telerik.Reporting.Drawing.Unit.Inch(0);
Telerik.Reporting.Drawing.
Unit y = Telerik.Reporting.Drawing.Unit.Inch(0);
SizeU size = new SizeU(Telerik.Reporting.Drawing.Unit.Cm(2), Telerik.Reporting.Drawing.Unit.Inch(0.3));
Telerik.Reporting.
ReportItemBase[] headColumnList = new Telerik.Reporting.ReportItem[count];
Telerik.Reporting.
ReportItemBase[] detailColumnList = new Telerik.Reporting.ReportItem[count];
for (int column = 0; column < count; column++)
{
string columnName = dataSource.Tables[0].Columns[column].ColumnName;
Telerik.Reporting.
TextBox header = this.CreateTxtHeader(columnName, column);
header.Location =
new Telerik.Reporting.Drawing.PointU(x, y);
header.Size = size;
headColumnList[column] = header;
Telerik.Reporting.
TextBox textBox = this.CreateTxtDetail(columnName, column);
textBox.Location =
new Telerik.Reporting.Drawing.PointU(x, y);
textBox.Size = size;
detailColumnList[column] = textBox;
x += Telerik.Reporting.Drawing.
Unit.Inch(1);
}
Telerik.Reporting.
ReportHeaderSection reportHeaderSection1 = new Telerik.Reporting.ReportHeaderSection();
reportHeaderSection1.Height =
new Telerik.Reporting.Drawing.Unit(0.3, Telerik.Reporting.Drawing.UnitType.Inch);
//reportHeaderSection1.Style.BackgroundColor = Color.LightGray;
reportHeaderSection1.Items.AddRange(headColumnList);
Telerik.Reporting.
DetailSection detailSection1 = new Telerik.Reporting.DetailSection();
detailSection1.Height =
new Telerik.Reporting.Drawing.Unit(0.3, Telerik.Reporting.Drawing.UnitType.Inch);
detailSection1.Items.AddRange(detailColumnList);
report1.Items.Add(reportHeaderSection1);
report1.Items.Add(detailSection1);
return report1;
}
}
| using System; |
| using System.Collections; |
| using System.Collections.Generic; |
| using System.Configuration; |
| using System.Linq; |
| using System.Text; |
| using DatabaseLayer; |
| using log4net; |
| namespace PCIIReports |
| { |
| public class RSubmission |
| { |
| private Guid _submissionID; |
| private string _cikrName; |
| private string _cikrCountry; |
| private string _cikrState; |
| public RSubmission() { } |
| public RSubmission(Guid submissionId, String cikrName, string cikrCountry, string cikrState) |
| { |
| _submissionID = submissionId; |
| _cikrName = cikrName; |
| _cikrCountry = cikrCountry; |
| _cikrState = cikrState; |
| } |
| public Guid SubmissionId |
| { |
| get { return _submissionID; } |
| set { _submissionID = value; } |
| } |
| public String CIKRName |
| { |
| get { return _cikrName; } |
| set { _cikrName = value; } |
| } |
| public String CIKRCountry |
| { |
| get { return _cikrCountry; } |
| set { _cikrCountry = value; } |
| } |
| public String CIKRState |
| { |
| get { return _cikrState; } |
| set { _cikrState = value; } |
| } |
| } |
| public class Submissions |
| { |
| private static readonly ILog Log = |
| LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); |
| static string GetConnectionStringByName(string name) |
| { |
| // Assume failure. |
| string returnValue = null; |
| // Look for the name in the connectionStrings section. |
| ConnectionStringSettings settings = |
| ConfigurationManager.ConnectionStrings[name]; |
| // If found, return the connection string. |
| if (settings != null) |
| returnValue = settings.ConnectionString; |
| return returnValue; |
| } |
| public Submissions() |
| { |
| } |
| public List<RSubmission> GetSubmissions() |
| { |
| var connectionString = GetConnectionStringByName("pciidbContext"); |
| var context = new pciidbContext(connectionString); |
| var query = |
| from submission in |
| context.Submissions.Include("Submitter").Include("OnBehalfOf").Include("Documents").ToList() |
| select new RSubmission |
| { |
| SubmissionId = submission.SubmissionId, |
| CIKRName = submission.CriticalInfrastructureKey == null ? "Unknown" : submission.CriticalInfrastructureKey.Name, |
| CIKRCountry = submission.CIKRCountry, |
| CIKRState = submission.CIKRStateAbbr |
| }; |
| return query.ToList(); |
| } |
| } |
| } |
I have a report with 2 parameters.
I am using a RepotViewer object on my page.
I set the DataSource in the NeedDataSource Event, when I refresh the report in IE8 or Opera 10.53 the report does not refresh properly.
I have to click two time to see the data in the page.
best wishes
Hello:
In a new application using Telerik reporting Q1 2010 v4.0.10.423, when I click on the export icon, the system shows a message box with the error “(XamlParseException) [Line: 0 Position: 0]”, followed by several “HRESULT E_FAIL” exceptions. In the same way, if I click on the print button, nothing happens.
I try it with an empty report (only with a static textbox), and the result is the same.
It happens on different computers.
I have another working project, that is using the same reporting version, and it works!
I run the Telerik upgrade wizard several times, and in different computers, but didn’t work.
Regards
Juan Segura