welles
February 17th, 2006, 02:21 AM
Hi there,
I added two type of unbound fields (string and number) to a blank report and tried to reference the field's name and change their color. But I received the "invalid report object name" error. Can any expert here tell me what I am missing or what I have done wrong? Thanks in advance!
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using CrystalDecisions.CrystalReports.Engine;
namespace CR_Test{
public class BlankReportForm : System.Web.UI.Page{
protected CrystalDecisions.Web.CrystalReportViewer CrystalReportViewer1;
protected BlankReport bRpt;
private void Page_Load(object sender, System.EventArgs e){
bRpt = new BlankReport();
//The following two lines of code work
bRpt.DataDefinition.FormulaFields["strField"].Text = "\"myStrField\"";
bRpt.DataDefinition.FormulaFields["numField"].Text = "\"myNumField\"";
//the following two lines of code throw exception
//CrystalDecisions.CrystalReports.Engine.InvalidArgumentException: Invalid report object name.
Response.Write(bRpt.ReportDefinition.ReportObjects["strField"].Name + "<br>");
Response.Write(bRpt.ReportDefinition.ReportObjects["numField"].Name + "<br>");
//the following two lines of code also throw exception
//CrystalDecisions.CrystalReports.Engine.InvalidArgumentException: Invalid report object name.
((FieldObject)bRpt.ReportDefinition.ReportObjects["strField"]).Color = System.Drawing.Color.Red;
((FieldObject)bRpt.ReportDefinition.ReportObjects["numField"]).Color = System.Drawing.Color.Blue;
CrystalReportViewer1.ReportSource = bRpt;
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e){
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent(){
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
I added two type of unbound fields (string and number) to a blank report and tried to reference the field's name and change their color. But I received the "invalid report object name" error. Can any expert here tell me what I am missing or what I have done wrong? Thanks in advance!
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using CrystalDecisions.CrystalReports.Engine;
namespace CR_Test{
public class BlankReportForm : System.Web.UI.Page{
protected CrystalDecisions.Web.CrystalReportViewer CrystalReportViewer1;
protected BlankReport bRpt;
private void Page_Load(object sender, System.EventArgs e){
bRpt = new BlankReport();
//The following two lines of code work
bRpt.DataDefinition.FormulaFields["strField"].Text = "\"myStrField\"";
bRpt.DataDefinition.FormulaFields["numField"].Text = "\"myNumField\"";
//the following two lines of code throw exception
//CrystalDecisions.CrystalReports.Engine.InvalidArgumentException: Invalid report object name.
Response.Write(bRpt.ReportDefinition.ReportObjects["strField"].Name + "<br>");
Response.Write(bRpt.ReportDefinition.ReportObjects["numField"].Name + "<br>");
//the following two lines of code also throw exception
//CrystalDecisions.CrystalReports.Engine.InvalidArgumentException: Invalid report object name.
((FieldObject)bRpt.ReportDefinition.ReportObjects["strField"]).Color = System.Drawing.Color.Red;
((FieldObject)bRpt.ReportDefinition.ReportObjects["numField"]).Color = System.Drawing.Color.Blue;
CrystalReportViewer1.ReportSource = bRpt;
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e){
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent(){
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}