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

trs28Asked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
Bob LearnedConnect With a Mentor Commented:
Typo:

BatchDelivery report = new BatchDelivery();
report.SetDataSource(this.GetBatchDataSet(DateTime.Now));
this.ReportViewer.ReportSource = report;
0
 
mlmccCommented:
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
0
 
Bob LearnedCommented:
Mike,

That would be something like this:

BatchDelivery report = new BatchDelivery();
report.DataSource = this.GetBatchDataSet(DateTime.Now);
this.ReportViewer.ReportSource = report;
0
 
trs28Author Commented:
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!
0
 
trs28Author Commented:
PERFECT!   That was exactly what I was looking for!   I blows my mind how I missed "SetDataSource" !!

Thanks again!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.