Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
GetDataSet method and mutltiple result sets
Message
 
 
À
09/08/2009 12:14:25
Information générale
Forum:
ASP.NET
Catégorie:
The Mere Mortals .NET Framework
Versions des environnements
Environment:
C# 3.0
OS:
Windows XP
Network:
Windows 2003 Server
Database:
MS SQL Server
Divers
Thread ID:
01416914
Message ID:
01417164
Vues:
46
Kevin,

This is very helpful, but in my C# code the ReportDocument is highlighted, e.g. what references should I include to make this work?

This is my current code
this.CrystalReportSource1.ReportDocument.Load(appReaderReport.RouteScheduleReport);
                        // Mapping Crystal Report DataSet to Biz Obj DataSet

// Here we were setting up individual tables                        this.CrystalReportSource1.ReportDocument.Database.Tables["RouteData"].SetDataSource(oRouteHeader.DataSet.Tables[oRouteHeader.TableName]);
>Naomi, if I understand your question correctly, here's a common routine I've used for years.
>
>Let's say you build a CR report against a dataset (or an XML schema representation of a typed dataset), you can "push" the data into the CR report object.
>
>I wrote a generate push method that would take any report object and any dataset - here were the 2 main functions:
>
>
>
>      public ReportDocument PushReportData
>              (DataSet DsReportData, ReportDocument oReport)
>      {
>      // Call when a report is generated
>      //   Calls SetData for the main report object
>      //   Also calls SetData for any subreport objects
>
>         this.SetData(DsReportData,oReport);
>
>         foreach(ReportDocument oSubReport in  oReport.Subreports) 
>            this.SetData(DsReportData,oSubReport);
> 
>         return oReport;
>
>      }
>
>        private void SetData
>                   (DataSet DsReportData, ReportDocument oReport)
>        {
>        // receives a DataSet and a report object (could be the 
>                                       // main object, could be a subreport object)
>
>        // loops through the report object's tables collection, 
>        // matches up the table name with the corresponding table
>        // name in the dataset, and sets the datasource accordingly
>
>        // This function eliminates the need for a developer to 
>        // know the specific table order in the report
>
>            foreach (Table oTable in oReport.Database.Tables)
>               oTable.SetDataSource
>             (DsReportData.Tables[oTable.Name.ToString()]);
>
>        } 
>
>
>
>And then here's an example that would create an instance of a new report (e.g. a TimeSheet report), and then push a dataset called dsData into the report.
>
>Obviously, dsData needs to have the same structure as the original dataset structure that was used when the report was created.
>
>
>ccCrystalManager oCrystalManager = new ccCrystalManager();
>RPT_TimeSheet oTimeSheetReport = new RPT_TimeSheet();
>
>oTimeSheetReport = oCrystalManager.PushReportData(dsData, 
>                                   oTimeSheetReport);
>
>// and then use the report object to preview or print or export
>
>
>
>Let me know if this helps...
If it's not broken, fix it until it is.


My Blog
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform