none
Connecte un crystal report à un query du datatable RRS feed

  • Question

  • Bonjour,

    Après avoir ramé un peux j ai trouver la solution pour la modification de mon datatable lors de l'affichage dans le datagridview.

    Maintenant il sagit d'imprimer ces données.

    je souhaite utilser un crytal report or:

    je peux bien connecter le report a ma table mais puisque je souhaite avoir comme elements ce que ma renvoyé ma requete telle dasn la discution "changer le contenu du datagrid",

    lien http://social.msdn.microsoft.com/Forums/fr-FR/visualcsharpfr/thread/55f69252-82b2-4d09-85b2-6bf939c8d39c

    je ne peux avoir acces à ces éléments

    comment procéder?

    cordialement


    Marcelle NGOUNOU
    mercredi 19 janvier 2011 14:43

Réponses

  • Bonjour,

    Voilà une façon de procéder :

    // On crée le report
    objRpt = new my_rpt();
    
    // On remplit la table
    t_BORDEREAU_BORTableAdapter.FillBystock_toPrint(bD_FRCEvolutionDataSet.T_BORDEREAU_BOR, MeDebutPeriode.Value, MeFinPeriode.Value);
    
    // On met la table en DataSource
    rpt.SetDataSource(bD_FRCEvolutionDataSet.T_BORDEREAU_BOR);
    
    // On affecte le Report au ReportViewer
    crptViewer.ReportSource = rpt
    

    Voici un tutorial la-dessus : http://www.codeproject.com/KB/cs/CrystalReportNDataTable.aspx

    Si jamais on ne pré-remplit pas la Table en question, tu peux toujours utiliser le Get au lieu du Fill, et faire comme ceci :

    // On crée le report
    objRpt = new my_rpt();
    
    // On crée une table
    DataTable resultatDeMaRequete = t_BORDEREAU_BORTableAdapter.GetBystock_toPrint(MeDebutPeriode.Value, MeFinPeriode.Value);
    
    // On met la table en DataSource
    rpt.SetDataSource(resultatDeMaRequete)
    
    // On affecte le Report au ReportViewer
    crptViewer.ReportSource = rpt

    Cordialement,

    Thomas


    Thomas Aimonetti - C# - Sharplog Engineering - http://www.sharplog.fr
    • Marqué comme réponse marclas mercredi 19 janvier 2011 18:03
    mercredi 19 janvier 2011 15:16

Toutes les réponses

  • Bonjour,

    Voilà une façon de procéder :

    // On crée le report
    objRpt = new my_rpt();
    
    // On remplit la table
    t_BORDEREAU_BORTableAdapter.FillBystock_toPrint(bD_FRCEvolutionDataSet.T_BORDEREAU_BOR, MeDebutPeriode.Value, MeFinPeriode.Value);
    
    // On met la table en DataSource
    rpt.SetDataSource(bD_FRCEvolutionDataSet.T_BORDEREAU_BOR);
    
    // On affecte le Report au ReportViewer
    crptViewer.ReportSource = rpt
    

    Voici un tutorial la-dessus : http://www.codeproject.com/KB/cs/CrystalReportNDataTable.aspx

    Si jamais on ne pré-remplit pas la Table en question, tu peux toujours utiliser le Get au lieu du Fill, et faire comme ceci :

    // On crée le report
    objRpt = new my_rpt();
    
    // On crée une table
    DataTable resultatDeMaRequete = t_BORDEREAU_BORTableAdapter.GetBystock_toPrint(MeDebutPeriode.Value, MeFinPeriode.Value);
    
    // On met la table en DataSource
    rpt.SetDataSource(resultatDeMaRequete)
    
    // On affecte le Report au ReportViewer
    crptViewer.ReportSource = rpt

    Cordialement,

    Thomas


    Thomas Aimonetti - C# - Sharplog Engineering - http://www.sharplog.fr
    • Marqué comme réponse marclas mercredi 19 janvier 2011 18:03
    mercredi 19 janvier 2011 15:16
  • Thomas,

    tu peux pas ecrire:

    rpt.SetDataSource(bD_FRCEvolutionDataSet.T_BORDEREAU_BOR);

    tu auras l'erreur " The call is ambiguous between the following methods or properties: 'CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSource(System.Collections.IEnumerable)' and 'CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSource(System.Data.DataTable)'

    par contre pour le datatable c 'est OK


    Marcelle NGOUNOU
    mercredi 19 janvier 2011 17:59
  • Bonjour,

    Ah ok, merci pour l'info !

    A titre d'information, si tu castes ta table typée en DataTable, ça marche ? :)

    rpt.SetDataSource((DataTable)bD_FRCEvolutionDataSet.T_BORDEREAU_BOR);
    

     

    Cordialement,

    Thomas


    Thomas Aimonetti - C# - Sharplog Engineering - http://www.sharplog.fr
    jeudi 20 janvier 2011 08:29
  • Bonjour,

    Oui ca marche.

    Cordialement


    Marcelle NGOUNOU
    jeudi 20 janvier 2011 09:16
  • Bonjour,

     

    je voudrais savoir pourquoi il est impossible d'importer une requete avec fonction dans mon dataset

    ma Bd est sous access

    y a toujours une erreur : Merging data objects encountered the following issues: parameters uinformation for stored procedured/fucntion could not be retrieved parameters collection will be empty


    Marcelle NGOUNOU
    jeudi 20 janvier 2011 09:26