TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
Dilip Nagle
1.6k
107
4.3k
Using a specific .rpt Crystal Report Object at Run time
Nov 19 2018 3:24 AM
The Problem:
I have created 5 Crystal Reports crInvoice_xxx.rpt files for 5 different Sales Invoice formats. For Each specific Client, I store the specific name of *.rpt file as say crInvoice_abc.rpt (for say Client ABC) in a database of that client.
When user runs my web application (and not the web site as my .rpts are objects in dll) developed in asp.net with vb.net, I access database, pickup name of crInvoice_xxx.rpt file, in above case crInvoice_abc.rpt file and create an object of crystal Report at runime as follows:
Dim ocrListReportObject As Object
Dim ocrConnectionInfo As ConnectionInfo
Dim ocrDatabase As Database
Dim ocrTables As CrystalDecisions.CrystalReports.Engine.Tables
Dim ocrTable As CrystalDecisions.CrystalReports.Engine.Table
Dim ocrTableLogOnInfo As TableLogOnInfo
dim strCurRptObjectNm = NSGetReportName() //it returns crInvoice_abc for Client ABC
ocrListReportObject = NSObjectFactory.NSCreateAnObject(strCurRptObjectNm)
ocrConnectionInfo = New ConnectionInfo
ocrConnectionInfo.ServerName = Session("strSessionServerNM") 'Computer Server Name
ocrConnectionInfo.DatabaseName = Session("strSessionDatabaseNM") 'Name of database
ocrConnectionInfo.UserID = Session("strSessionLoginNm") 'Login UserID to use
ocrConnectionInfo.Password = Session("strSessionLoginPassword") 'Login Password
ocrDatabase = ocrListReportObject.Database
... and so on. It works well in VB.net
But, when I try to do it in C#, it gives an error.
Code of NSObjectFactory
Public Class NSObjectFactory
'---------------------------------------------------------*
'Method : To Dynamically Create an Instance of an Object *
' : Useful for dynamically using Crystal Report name*
'Status : 06-Dec-2014 *
'---------------------------------------------------------*
Shared Function NSCreateAnObject(ByVal strInObjectName As String) As Object
'---------------*
'Local variables*
'---------------*
Dim assMyAssembly = [Assembly].GetExecutingAssembly()
Dim typMyType As Type = assMyAssembly.GetType(strInObjectName.Trim)
Dim oMyObject As Object = Nothing
'---------------*
'Create Instance*
'---------------*
Try
oMyObject = Activator.CreateInstance(typMyType)
Catch oEx As TargetInvocationException
oMyObject = Nothing
End Try
Return oMyObject
End Function
My Question:
How to write such a code in C#.
Note: Everything upto Object creation is working in C# code. But, setting Properties such as that of database gives an error.
Regards,
Dilip Nagle
Reply
Answers (
1
)
Crystal report export PDF is not supporting all HTML symbols
How to deploy report server project in another system