c# 水晶报表中处理TextObject

it2026-05-24  15

代码 using  System; using  System.Data; using  System.Configuration; using  System.Web; using  System.Web.Security; using  System.Web.UI; using  System.Web.UI.WebControls; using  System.Web.UI.WebControls.WebParts; using  System.Web.UI.HtmlControls;  using  CrystalDecisions.CrystalReports.Engine; using  CrystalDecisions.ReportAppServer.ClientDoc; using  CrystalDecisions.ReportAppServer.DataDefModel;   public   partial   class  _Default : System.Web.UI.Page {     protected  ReportDocument boReportDocument;       protected   void  Page_Load( object  sender, EventArgs e)    {         if  ( ! this .IsPostBack)        {            ConfigureCrystalReports();        }         CrystalReportViewer1.ReportSource  =  Session[ " Report " ];     }      protected   void  ConfigureCrystalReports()    {        ISCDReportClientDocument boReportClientDocument;                CrystalDecisions.ReportAppServer.Controllers.ReportObjectController boReportObjectController;        CrystalDecisions.ReportAppServer.ReportDefModel.TextObject boOldTextObject, boNewTextObject;        CrystalDecisions.ReportAppServer.ReportDefModel.Paragraph boParagraph;        CrystalDecisions.ReportAppServer.ReportDefModel.ParagraphFieldElement boParagraphFieldElement;        CrystalDecisions.ReportAppServer.ReportDefModel.ParagraphTextElement boParagraphTextElement;                boReportDocument  =   new  ReportDocument();        boReportDocument.Load(Server.MapPath( " CrystalReport.rpt " ));         boReportClientDocument  =  boReportDocument.ReportClientDocument;                boReportObjectController  =  boReportClientDocument.ReportDefController.ReportObjectController;                         //  Get a handle on the ReportObjectController so we can manipulate the TextObject                  foreach  (CrystalDecisions.ReportAppServer.ReportDefModel.ReportObject boReportObject  in  boReportObjectController.GetAllReportObjects())        {             if  (boReportObject.Kind  ==  CrystalDecisions.ReportAppServer.ReportDefModel.CrReportObjectKindEnum.crReportObjectKindText)            {                boOldTextObject  =  (CrystalDecisions.ReportAppServer.ReportDefModel.TextObject)boReportObject;                boNewTextObject  =  (CrystalDecisions.ReportAppServer.ReportDefModel.TextObject)boOldTextObject.Clone( true );                                 //  Clear out all paragraphs from the current text object                  boNewTextObject.Paragraphs.RemoveAll();                  //  Create a new Paragraph to add to our TextObject                 boParagraph  =   new  CrystalDecisions.ReportAppServer.ReportDefModel.Paragraph();                  //  Create a new ParagraphTextElement to be added to our paragraph                                 boParagraphTextElement  =   new  CrystalDecisions.ReportAppServer.ReportDefModel.ParagraphTextElement();                                boParagraphTextElement.Text  =   " The value of my parameter is:  " ;                boParagraph.ParagraphElements.Add(boParagraphTextElement);                                  //  Create a new ParagraphFieldElement (our parameter field) to be added to our paragraph                                 boParagraphFieldElement  =   new  CrystalDecisions.ReportAppServer.ReportDefModel.ParagraphFieldElement();                boParagraphFieldElement.Kind  =  CrystalDecisions.ReportAppServer.ReportDefModel.CrParagraphElementKindEnum.crParagraphElementKindField;                boParagraphFieldElement.DataSource  =   " {?Currency} " ;                                 boParagraph.ParagraphElements.Add(boParagraphFieldElement);                                boNewTextObject.Paragraphs.Add(boParagraph);                                boReportObjectController.Modify(boOldTextObject, boNewTextObject);                  break ;            }        }         Session.Add( " Report " , boReportDocument);    }}

转载于:https://www.cnblogs.com/lfzwenzhu/archive/2010/11/17/1879761.html

相关资源:数据结构—成绩单生成器
最新回复(0)