Symptom
How to add a border using the Crystal Reports .NET inproc RAS SDK.
Environment
- Crystal Reports XI Release 2 Service Pack 2 and higher
- C#
Resolution
Sample code:
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.ReportAppServer.ClientDoc;
// CR Declarations
ReportDocument m_boReportDocument;
ISCDReportClientDocument m_boReportClientDocument;
CrystalDecisions.ReportAppServer.ReportDefModel.ReportObject m_boReportObject;
CrystalDecisions.ReportAppServer.ReportDefModel.ReportObject m_boReportObjectModified;
//create a new ReportDocument
m_boReportDocument = new ReportDocument();
//load the RPT file
m_boReportDocument.Load("..\\..\\AddBorder.rpt");
//access the ReportClientDocument in the ReportDocument (EROM bridge)
m_boReportClientDocument = boReportDocument.ReportClientDocument;
//get the first section in the details section
m_boReportObject = (CrystalDecisions.ReportAppServer.ReportDefModel.ReportObject) _
m_boReportClientDocument.ReportDefController.ReportDefinition.DetailArea.Sections[0].ReportObjects[0];
//make a copy of the report object that we will modify
m_boReportObjectModified = (CrystalDecisions.ReportAppServer.ReportDefModel.ReportObject) m_boReportObject.Clone(true);
//add the border to the left, right, top, and bottom of the ReportObject
m_boReportObjectModified.Border.LeftLineStyle = CrystalDecisions.ReportAppServer.ReportDefModel.CrLineStyleEnum.crLineStyleDouble;
m_boReportObjectModified.Border.RightLineStyle = CrystalDecisions.ReportAppServer.ReportDefModel.CrLineStyleEnum.crLineStyleDouble;
m_boReportObjectModified.Border.TopLineStyle = CrystalDecisions.ReportAppServer.ReportDefModel.CrLineStyleEnum.crLineStyleDouble;
m_boReportObjectModified.Border.BottomLineStyle = CrystalDecisions.ReportAppServer.ReportDefModel.CrLineStyleEnum.crLineStyleDouble;
//modify the object - we don't use add here because we are modifying an existing object
m_boReportClientDocument.ReportDefController.ReportObjectController.Modify(m_boReportObject, m_boReportObjectModified);
//display in reportviewer
crystalReportViewer1.ReportSource = m_boReportDocument;
Note: Prior to the release of Crystal Reports XI R2 Service Pack 2, report modification was only possible using the RAS (Report Application Server) SDK with a RAS server or by using In-Process RAS with the purchase of additional licensing.
Using Crystal Reports XI R2 Service Pack 2 and higher, you can now access the report modification APIs without any additional licensing by using the inprocess-RAS engine through the Crystal Reports .NET SDK.
Using Crystal Reports XI R2 Service Pack 2 and higher, you can now access the report modification APIs without any additional licensing by using the inprocess-RAS engine through the Crystal Reports .NET SDK.
Keywords
How add border Crystal Reports .NET inproc RAS SDK , KBA , BI-DEV-NET , BI Software Development Kits (SDKs) - .NET or Other , How To
Product
SAP Crystal Reports XI R2