c# 水晶报表中处理TextObject
生活随笔
收集整理的這篇文章主要介紹了
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);
????}
}
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
總結
以上是生活随笔為你收集整理的c# 水晶报表中处理TextObject的全部內容,希望文章能夠幫你解決所遇到的問題。