Je crée un rapport simple en utilisant un objet .NET de mon projet comme source de données, en utilisant la méthode SetDatasource()
. Toutefois, lorsque j'exécute le rapport, l'erreur "Echec de l'ouverture de la base de données" s'affiche. Ce rapport ne se connecte pas du tout à une base de données. Ai-je manqué quelque chose ici?Pourquoi "Échec de l'ouverture de la base de données" dans Crystal Reports lors de l'utilisation de l'objet .NET comme source de données?
Un grand merci, D.
AJOUTÉE: Je suppose que ce sera probablement aider si j'inclure l'action du contrôleur. Il est un test rapide et sale, pas ce que la méthode finale ressemblera:
public ActionResult StewardSheets(int showId, int groupId)
{
ReportClass rptH = new ReportClass();
rptH.FileName = DataHelper.getReportFilePath("Test.rpt",this);
NZDSDataContext dataContext = new NZDSDataContext();
var showDetails = (from s in dataContext.Shows
where s.ID == showId
select new StewardSheetModel
{
EventDate = s.EventDate.ToLongDateString(),
Region = s.Region.Name,
ShowTitle = s.Name
}).FirstOrDefault();
List<StewardSheetModel> details = new List<StewardSheetModel>();
details.Add(showDetails);
rptH.SetDataSource(details);
rptH.Load();
Stream stream = rptH.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
return File(stream, "application/pdf");
}
FIXE: D'oh! J'ai utilisé ReportClass au lieu de ReportDocument. Modification de cette ligne et utilisation de Refresh() car Load() n'est pas une méthode valide. Maintenant, ça fonctionne très bien!
Quels sont les paramètres de source de données? –
Voici une capture d'écran de la source de données - J'espère que c'est ce que vous demandez? http://img262.imageshack.us/img262/3615/crystalreport.png – codedog