c# 水晶报表中处理TextObject

ExpandedBlockStart.gif 代码
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值