說句老實話,國內企業的報表太復雜,有些報表用Crystal report真是無法做得出來,沒辦法的情況下,只好在報表設計時加入一些未綁定的文字框,現在我的問題是能在程序中直接操作這些文字框嗎?比如,我有一個rpt文件,上面有一個UnboundString文字框.
我用一個ReportDocument參照到這個rpt文件,按資料上來說這就是一個有類型的rpt.那么:ReportDocument.Section3.ReportObjects["UnboundString1"]沒有Text屬性也沒有Value屬性,它甚至是唯讀的,那么有什么辦法可以直接地給這個UnboundString1指定值呢?

解决方案 »

  1.   

    你可以考虑在报表上放一个textbox
    CrystalDecisions.CrystalReports.Engine.TextObject   txt=(CrystalDecisions.CrystalReports.Engine.TextObject)  rpt.ReportDefinition.ReportObjects["Text2"];
    txt.Text ="從  "+this.dateTimePicker1.Value.ToShortDateString() +"  到  "+this.dateTimePicker2.Value.ToShortDateString();
      

  2.   

    大致如下
    TextObject text; // 按名称获取 ReportObject,将其转换为 TextObject,
    //并返回此对象。
    text = report.ReportDefinition.ReportObjects[reportObjectName] as TextObject;
    if (text != null) return text;
    else return null;
      

  3.   

    你可以考虑在报表上放一个textbox......可是在Crystal report設計環境下根本沒有textbox控件可放入啊!
      

  4.   

    不是textbox 而是水晶报表的文本对象
      

  5.   

    可以的``
    Crystal Report中可插入文本对象```
    然后在代码中
    ((CrystalDecisions.CrystalReports.Engine.TextObject)报表对象名称.Section6(报表中Section的名称`必须对应).ReportObjects["tno"(文本对象的名称)]).Text