crystal report ca me galère !
salut tout le monde!
je suis face à un mur qui va me tomber dessus!
j'ai trouvé ce tuto de crystal report
http://www.dreamingcode.com/dcConten...df/43_22Ab.pdf
seulement il est pour une vieille version :piou: et g cherché encore et g trouvé ca !
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DataSet myDS = new DataSet();
DataTable dtMyTable = new DataTable("preview");
DataColumn myCol0 = new DataColumn("facility");
myCol0.DataType = System.Type.GetType("System.String");
myCol0.MaxLength = 256;
myCol0.AllowDBNull = true;
DataColumn myCol1 = new DataColumn("doctype");
myCol1.DataType = System.Type.GetType("System.String");
myCol1.MaxLength = 256;
myCol1.AllowDBNull = true;
dtMyTable.Columns.Add(myCol0);
dtMyTable.Columns.Add(myCol1);
dtMyTable.AcceptChanges();
DataRow myNewRow = dtMyTable.NewRow();
myNewRow["facility"] = "MyFacility Works Great!";
myNewRow["doctype"] = "MyDocType Works too!";
dtMyTable.Rows.Add(myNewRow);
dtMyTable.AcceptChanges();
myDS.Tables.Add(dtMyTable);
// myDS.WriteXml(@"C:\Inetpub\wwwroot\CrystalTest\tryXML.xml");
CrystalDecisions.CrystalReports.Engine.ReportDocument myReportDocument;
myReportDocument = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
myReportDocument.Load(@"C:\Inetpub\wwwroot\CrystalTest\CrystalReport.rpt");
//
// any of these three methods should work to fill the document
//
myReportDocument.Database.Tables["preview"].SetDataSource(myDS);
//myReportDocument.Database.Tables[0].SetDataSource(myDS);
//myReportDocument.SetDataSource(myDS);
CrystalReportViewer1.ReportSource = myReportDocument;
CrystalReportViewer1.DataBind();
}
} |
et finialement moi dans mon code g ca :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using CrystalDecisions.CrystalReports.Engine;
public partial class SouscriptionPass_RapportPass : System.Web.UI.Page
{
// variable se referent au crystal report
public ReportDocument rapportPassPdf = null;
// variable de connexion
private SqlConnection cnx;
protected void AfficheurPass_Init(object sender, EventArgs e)
{
// chargement du rapport
rapportPassPdf = new ReportDocument();
rapportPassPdf.Load(ConfigurationManager.AppSettings["CheminSite"] + "/SouscriptionPass/RapportPassPdf.rpt");
Session.Add("num_pers", 5);
// établissement de la connexion
fonction.ConnexionBDD(ref cnx);
// récupèration des données de la base de données
SqlDataAdapter donnees = new SqlDataAdapter("select * from vue_rapport_souscription where NUM_PERS = " + Session["num_pers"], cnx);
RapportPassDataSet DataSetRapport = new RapportPassDataSet();
// assignation des données au dataset pour ne plus avoir besoin de la connexion
donnees.Fill(DataSetRapport, "vue_rapport_souscription");
// assignation des données à RapportPassPdf.rpt
rapportPassPdf.SetDataSource(DataSetRapport);
// on lie le rapport avec le crystal report viewer
AfficheurPass.ReportSource = rapportPassPdf;
AfficheurPass.DataBind();
}
} |
mon rapport ".rpt" est lié à mon "CrystalReportViewer" avec l'alias
"RapportPassPdfRpt"
mon "CrystalReportViewer" a comme ID "AfficheurPass"
Et quand j'execute il me dis "Echec du chargement du rapport."
alors soir g un blem dans mon code soit c quand je cree mon rapport dans vs2005
voilà je croi que vous avez tout.
merci de repondre.
PS: ca risque d'être long et fastidieu.