Comment relier une source de données XML dynamique à un Crystal Report Viewer ?

Résolu
bpignier Messages postés 3 Date d'inscription jeudi 11 septembre 2003 Statut Membre Dernière intervention 25 avril 2005 - 25 avril 2005 à 17:26
baynas Messages postés 3 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 30 août 2008 - 21 mai 2008 à 11:42
Bonjour à tous,

Merci à tous pour vos questions sur le forum concernant les Crystal report ! Grace à vous, j'ai bien dégrossi mon probleme !
A présent j'essaye de connecter un flux XML (qui conservent tjs la même structure) et de générer à partir de ce document, des factures papiers et des factures PDF (via l'export).

Et là je bloque !

Je suis sous Visual Studio .NET 2003 EA. Je suis bien enregistré et j'ai ma clé d'activation.
Sous Crystal Report, qd je créé un nouvel etat, je choisi "Autres sources de données" et je sélectionne mon doc XML sur mon HDD. Je paramètre mes champs, je construis mon état sans aucun probleme.
Mon etat CR s'apl : ExportExcel.rpt
Puis sous mon formulaire WinForm :


XmlDocument doc = new XmlDocument() ;


doc.Load(@"C:\toto.xml") ;


ExportExcel exe = new ExportExcel() ;


exe.SetDataSource(doc) ;


crystalReportViewer1.ReportSource = exe ;


crystalReportViewer1.Refresh() ;

Ce code génère une erreur de type : "Query Engine error" suivi d'une adresse d'un fichier RPT placé dans un repertoire temporaire.

J'aimerai bcp que vous m'aidiez à résoudre mon souci.

Merci d'avance @++
---------------------------------------------------------------------------------------
La hasard est la forme que prend Dieu pour passer inaperçu. :-)

2 réponses

Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
25 avril 2005 à 18:29
et si tu chargait ton document XML dans un dataset plutot et que tu passerais ce dataset (avec le SetDataSource) a ton Report...

plutot que ton Doc.Load() ...

perso j'utilise CR avec des Dataset que je genere dans VS, vide de données, je construit mon etat a partir du XSD, puis dans un programme je rempli un dataset typée (en rapport avec le XSD utilisee precedement), je fais un setdatasource(DS_rempli) et crystalreportviewer...
et ca marche tres tres bien..

le probleme vient peut etre du fait que tu a generer ton etat a partir d'un XML et qu'apres tu lui file un Xml (qui est le meme) mais ca lui fait peut etre perdre ces billes....

cré un dataset qui a la meme tete que ton fichier XML, genere ton etat depuis ce XSD et rempli le Dataset par prog...

Sinon utilise cette petite fonction que j'ai trouver sur le net et adapter a mes besoins


public
static
bool ExportXls(System.Data.DataTable Dt)


{



bool retour =
true;



try


{


Excel.ApplicationClass excel =
new Excel.ApplicationClass();


excel.Application.Workbooks.Add(
true);


System.Data.DataTable table = Dt;



int ColumnIndex=0;



foreach(System.Data.DataColumn col
in table.Columns)


{


ColumnIndex++;


excel.Cells[1,ColumnIndex]=col.ColumnName;


}



int rowIndex=0;



foreach(System.Data.DataRow row
in table.Rows)


{


rowIndex++;


ColumnIndex=0;



foreach(System.Data.DataColumn col
in table.Columns)


{


ColumnIndex++;


excel.Cells[rowIndex+1,ColumnIndex]=row[col.ColumnName].ToString();


}


}


excel.Visible =
true;


Excel.Worksheet worksheet = (Excel.Worksheet)excel.ActiveSheet;


worksheet.Activate();


}



catch(Exception xcp)


{


MessageBox.Show("Erreur dans 'Outils.Fonction.ExportXls' : " + xcp.Message);


retour =
false;


}



return retour;


}

tu passe une datatable (ton xml charger dans un dataset par exemple) et zou il t'ouvre Excel avec les donnees exporter...(attention aux references a rajouter dans ton projet !!)


Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
3
baynas Messages postés 3 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 30 août 2008
21 mai 2008 à 11:42
bonjour
je developpe un service web pour mon école , sauf que je trouve maintenant des difficultées pour gérer les documents excel existant avec XML (surtout ecrir dans un document xml à partir d'un fichier excel) s'il vous plais aidez moi , je suis un peut limité par le temps , 
merci d'avance pour votre aide  
0
Rejoignez-nous