在Session1中添加一个textbox1对象
然后在程序中可以看到Session1有个方法具体不是很清楚
可以获取报表中的对象
接着你可以改变Textbox1.text就可以了

解决方案 »

  1.   

    贴出代码,请大虾帮解决一下:                           RptAnswer rptAnswer=new RptAnswer();
    rptAnswer.SetDataSource(ds1);
    crystalReportViewer1.ReportSource = rptAnswer;
    //修改报表标题
    Section section;
    section = rptAnswer.ReportDefinition.Sections["Section1"];
                                FieldObject fieldObject;                                     // ok
    fieldObject = section.ReportObjects["Field1"] as FieldObject;//  ok
    if (fieldObject!= null)                                      // ok
    {
    fieldObject.Color = Color.Red;                        //ok
    }
    TextObject textObject;
    textObject = section.ReportObjects["Field1"] as TextObject;   //问题出在这,总取出空值
    if (textObject!= null)
    {
    textObject.Text ="abc";
    }
      

  2.   

    you look:
    http://www.itraining.net.cn/lzh/showArticle.asp?art_ID=967
      

  3.   

    TextObject textObject;
    textObject = section.ReportObjects["Field1"] as TextObject;   //问题出在这,总取出空值
    ——————————————————————————————————————
    CrystalDecisions.CrystalReports.Engine.TextObject textObject
    textObject = section.ReportObjects["Field1"] as CrystalDecisions.CrystalReports.Engine.TextObject
      

  4.   

    海波.NET
    问题:
    动态改变水晶报表中的文本
    ————————————————————————————————————————————————————————————————————————————
    一、TextObject 类
    ——————————————————————————————————————
    请参见:
    TextObject 成员 | CrystalDecisions.CrystalReports.Engine 命名空间
    ——————————————————————————————————————
    要求:
    命名空间:CrystalDecisions.CrystalReports.Engine 
    平台:Windows 98,Windows NT 4.0,Windows Millennium Edition,Windows 2000
    程序集:CrystalDecisions.CrystalReports.Engine
    语言C#,C++ Visual,Basic
    ——————————————————————————————————————
    表示报表中的文本对象。该对象提供属性和方法,以检索信息和设置报表中的文本对象选项。
    有关该类型所有成员的列表,请参见TextObject 成员。
    Object
    ReportObject
          TextObject
    [Visual Basic] 
    Public Class TextObject
       Inherits ReportObject
    [C#] 
    public class TextObject : ReportObject
    [C++] 
    __gc public class TextObject : public ReportObject
    备注
    通过ReportObjects集合的Item 属性,按索引或按名称来检索ReportObject对象,并将 ReportObject 转换as(为)TextObject。
    ——————————————————————————————————————
    示例
    下面的示例返回 TextObject 对象。 
    [Visual Basic] 
    Private Function GetTextObject _ 
    (ByVal reportObjectName As String) As TextObject
       Dim text As TextObject   ' 按名称获取 ReportObject,将其转换为 TextObject,
       ' 并返回此对象。
       If TypeOf _
       (Report.ReportDefinition.ReportObjects. _ 
       Item(reportObjectName)) Is TextObject Then
          text = _ 
          Report.ReportDefinition.ReportObjects. _ 
          Item(reportObjectName)
          GetTextObject = text
       Else : GetTextObject = Nothing
       End If
    End Function
    [C#] 
    private TextObject GetTextObject
    (string reportObjectName) 
    {
       TextObject text;   // 按名称获取 ReportObject,将其转换为 TextObject,
       //并返回此对象。
       text = Report.ReportDefinition.ReportObjects[reportObjectName] 
       as TextObject;
       if (text != null) return text;
       else return null;
    }
    [C++] 
    TextObject* GetTextObject(String* reportObjectName)
    {
       TextObject* text;   // 按名称获取 TextObject ,将其转换为 TextObject,
       //并返回此对象。
       try
       {
          text = __try_cast<TextObject*>
          (Report->ReportDefinition->
          ReportObjects->Item[reportObjectName]);
          return text;
       }
       catch(System::InvalidCastException*)
       {
          return 0;
       }
    };
    ————————————————————————————————————————————————————————————————————————————
    二、TextObject 成员
    ——————————————————————————————————————
    请参见
    TextObject 类 | CrystalDecisions.CrystalReports.Engine 命名空间
    ——————————————————————————————————————
    公共实例属性
    Border(从 ReportObject 中继承而来) Border。获取 Border 对象。 
    Color System.Drawing.Color。获取或设置对象的颜色。 
    Font System.Drawing.Font。获取 Font 对象。使用ApplyFont方法应用更改。 
    Height(从 ReportObject 中继承而来) Int32。获取或设置以缇为单位的对象高度。 
    Kind(从 ReportObject 中继承而来) ReportObjectKind。获取报表对象的类型。 
    Left(从 ReportObject 中继承而来) Int32。获取或设置以缇为单位的对象左上角位置。 
    Name(从 ReportObject 中继承而来) 字符串。获取对象名。 
    ObjectFormat(从 ReportObject 中继承而来) ObjectFormat。获取 ObjectFormat 对象。  
    Text 字符串。获取或设置文本对象中的文本。 
    Top(从 ReportObject 中继承而来) Int32。获取或设置以缇为单位的对象顶部位置。 
    Width(从 ReportObject 中继承而来) Int32。获取或设置以缇为单位的对象宽度。 
    ——————————————————————————————————————
    公共实例方法
    ApplyFont 应用对System.Drawing.Font对象所做的更改。
      

  5.   

    或者:
    TextObject textObject;
    textObject = section.ReportObjects["Field1"] as TextObject;   //问题出在这,总取出空值
    ——————————————————————————————————————
    CrystalDecisions.CrystalReports.Engine.TextObject textObject
    textObject = Report.ReportDefinition.ReportObjects[reportObjectName] as CrystalDecisions.CrystalReports.Engine.TextObject
      

  6.   

    RptAnswer rptAnswer=new RptAnswer();
    rptAnswer.SetDataSource(ds1);
    crystalReportViewer1.ReportSource = rptAnswer;

    //修改报表标题
    Section section;
    section = rptAnswer.ReportDefinition.Sections["Section1"];FieldObject fieldObject;                                     // ok
    fieldObject = section.ReportObjects["Field1"] as FieldObject;//  ok
    if (fieldObject!= null)                                      // ok
    {
        fieldObject.Color = Color.Red;                        //ok
    }
    TextObject textObject;
    textObject = section.ReportObjects["Field1"] as TextObject;   //问题出在这,总取出空值
    if (textObject!= null)
    {
       textObject.Text ="abc";
    }
    分别用:
    CrystalDecisions.CrystalReports.Engine.TextObject textObject;
    textObject = section.ReportObjects["Field1"] as CrystalDecisions.CrystalReports.Engine.TextObject;

    CrystalDecisions.CrystalReports.Engine.TextObject textObject;
    textObject = rptSurvey.ReportDefinition.ReportObjects["Field1"] as CrystalDecisions.CrystalReports.Engine.TextObject;
    替换原来的:
    TextObject textObject;
    textObject = section.ReportObjects["Field1"] as TextObject;   //问题出在这,总取出空值
    报表标题还是改不了。
    奇怪的是:报表标题的颜色可改,就是标题内容改不了。
      

  7.   

    编程更改文本对象示例代码(作者:海波.NET,更新:2003-10-21)using CrystalDecisions.CrystalReports.Engine;private const string REPORT_NAME = @"..\..\CrystalReportAnalysis.rpt";
    private const string TEXT_OBJECT_NAME = @"Text1";private void Form1_Load(object sender, System.EventArgs e)
    {
    report = new ReportDocument();
    report.Load(REPORT_NAME);
    report.Refresh(); crvChart.ReportSource = report;
    }private void btnChangeText_Click(object sender, System.EventArgs e)
    {
    TextObject text;

    text = GetTextObject(TEXT_OBJECT_NAME); text.Text = "Hello, Haibo.NET!"; crvChart.RefreshReport();
    }private TextObject GetTextObject(string reportObjectName) 
    {
    TextObject text; // 按名称获取 ReportObject,将其转换为 TextObject,
    //并返回此对象。
    text = report.ReportDefinition.ReportObjects[reportObjectName] as TextObject;
    if (text != null) return text;
    else return null;
    }
      

  8.   

    大家一起去这个贴子支持一下!!!
    http://expert.csdn.net/Expert/TopicView1.asp?id=2291055
    CSDN 开个 Crystal Report 版吧!!!&&&我与水晶报表……
    haibodotnet 海波.NET想了解更多水晶报表的知识和技巧,请到
    NET专栏 -> 水晶报表专栏
    http://218.56.11.178:8009/
    jpyc(九品御厨-进军嵌入式)