Link to home
Start Free TrialLog in
Avatar of trs28
trs28

asked on

setting datasource for strongly typed report object

I can successfully get the application to display the report correctly via the snippet below.  This requires me to have the report file directly on the file system.  I have the report itself set as an embedded resource in the report's properties.  I would much rather be able to distribute the app without having to include the RPT file itself.  I figured if I made it a strongly typed report (hopefully I'm using the correct terminology), I could then simply set the report object to the datasource, I should be okay ... but I can't seem to figure out how to set the datasource property for the report object.  The code that I was trying is within the commented block in the snippet.  If I try to run it as is, the application will load ... but it just gets no data.

Any help is appreciated!   Thanks!
private void Form1_Load(object sender, EventArgs e)
        {
            this.SuperVTableAdapter.Fill(this.dsMSA.SuperV);
            this.GuestsTableAdapter.Fill(this.dsMSA.Guests);
            this.PatronsTableAdapter.Fill(this.dsMSA.Patrons);
 
            
            docRPT.Load(Application.StartupPath + "\\SuperVReport.rpt");
            docRPT.SetDataSource(dsMSA);
            crystalReportViewer1.ReportSource = docRPT;
            
            /*
            EMSA EMSARPT = new EMSA();
            crystalReportViewer1.ReportSource = EMSARPT;
            */
        }

Open in new window

Avatar of Mike McCracken
Mike McCracken

Your code is using the external report rather than the embedded one.

I forget the proper calling code since I don't use it.  I looked for the code on the Crystal site and didn't find it.

You have to declare an object to be of the type of the report.  I believe like you are doing in lines 13-14.

mlmcc
Mike,

That would be something like this:

BatchDelivery report = new BatchDelivery();
report.DataSource = this.GetBatchDataSet(DateTime.Now);
this.ReportViewer.ReportSource = report;
Avatar of trs28

ASKER

Mike, in my snipped, the code that isn't commented functions just as I need it to ...as long as I include the file.   I have the file added to my project and set to be an embedded resource, but by using the ReportDocument model, I have to access the file off of the file system.  There doesn't seem to be anyway to reference the embedded report.  That's seems to be the case on everything I've researched about this.  
The code in my snippet that is commented is the way I want to make the app work.

TheLearnedOne, at first, I tried exactly what you have listed there for your second line.  The only thing is... there is no DataSource property.  The only thing I have is "Database", "DataDefinition", and "DataSourceConnections".   ...and I tried to manipulate the last one in a variety of different ways, but it wasn't sticking out to me how to utilize it.

By the way, my project's CrystalDecisions references are version 11.5.3700.0 if that helps any.

Thanks guys!
ASKER CERTIFIED SOLUTION
Avatar of Bob Learned
Bob Learned
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of trs28

ASKER

PERFECT!   That was exactly what I was looking for!   I blows my mind how I missed "SetDataSource" !!

Thanks again!