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

bpignier 3 Messages postés jeudi 11 septembre 2003Date d'inscription 25 avril 2005 Dernière intervention - 25 avril 2005 à 17:26 - Dernière réponse : baynas 3 Messages postés mercredi 26 mars 2008Date d'inscription 30 août 2008 Dernière intervention
- 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. :-)
Afficher la suite 

2 réponses

Répondre au sujet
Arthenius 1183 Messages postés mercredi 21 janvier 2004Date d'inscription 6 septembre 2011 Dernière intervention - 25 avril 2005 à 18:29
+3
Utile
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..."
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Arthenius
baynas 3 Messages postés mercredi 26 mars 2008Date d'inscription 30 août 2008 Dernière intervention - 21 mai 2008 à 11:42
0
Utile
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  
Commenter la réponse de baynas

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.