2016-09-09 1 views
0

Mon projet WPF utilise Crystal Reports. Tout fonctionne dans le développement; le rapport se charge et s'affiche, et rien ne va pas avec le DataSet. Le code suivant appelle le rapport:Le rapport affiche une page vierge sur l'ordinateur client

ReportDocument report = new ReportDocument(); 
    report.Load("../../CrystalReport.rpt"); 
    CustomerLedgerDataSet ds = new CustomerLedgerDataSet(); 
    DataTable dt1 = ds.BillProduct; 
    DataTable dt2 = ds.Customer; 
    foreach (var item in customer.CustomerCollection) 
    { 
     dt2.Rows.Add(item.Customerid, item.CustomerName, item.CustomerLocation, 
        item.Customerbalance, item.CustomerLastTally, item.Customerphone); 
    } 
    report.SetDataSource(ds); 
    crystalReportsViewer2.ViewerCore.ReportSource = report; 

Cela fonctionne en développement mais pas lorsqu'il est déployé sur le PC du client. Le visualiseur de rapports s'affiche mais avec un rapport vide. Le coupable est cette ligne parce qu'il ne peut pas fonctionner sur le chemin:

report.Load("../../CrystalReport.rpt");

enter image description here enter image description here

je clique une fois de publier pour le déploiement et installé la même version de Crystal Runtime sur le PC client .

+0

Copiez-vous vos DLL de référence? Faites un clic droit sur la référence et choisissez la propriété. Dans le champ local copy, choisissez true. –

+0

Ils sont déjà vrais surtout ceux pour les rapports de cristal –

Répondre

1

Évitez d'utiliser beaucoup de dossiers: essayez de copier vous-même le rapport dans le dossier du projet. Déplacez-le de votre dossier de rapport comme ce chemin

report.Load("~/CrystalReport.rpt")