• c# 水晶报表中处理TextObject


    代码
    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);
        }
    }


    继续追寻。。。。。。
  • 相关阅读:
    [arXiv18]更快的基于非二叉化自底向上策略的转移系统成分句法分析
    [AAAI18]面向序列建模的元多任务学习
    [COLING18]两种成分句法分析的局部特征模型
    [ACL18]基于RNN和动态规划的线性时间成分句法分析
    成分句法分析综述
    [NAACL16]RNN文法
    [TACL17]基于中序转移的成分句法分析
    K-摇臂赌博机算法与实现
    关于JVM案例分析(四)
    关于JVM案例分析(三)
  • 原文地址:https://www.cnblogs.com/lfzwenzhu/p/1879761.html
Copyright © 2020-2023  润新知