begin process at 2012 02 10 06:31:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Base de données

 > 

Oracle

 > 

Probleme Crystal Report C# Passage Parametre


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme Crystal Report C# Passage Parametre

jeudi 13 septembre 2007 à 08:54:18 | Probleme Crystal Report C# Passage Parametre

spike62300

Bonjour à tous,

Je repose ma question car c'est urgent ! Désolé d'avance.

Je rencontre un soucis avec Crystal Report intégré à VS 2005
Je développe sous C# et je veux intégrer certains états Crystal ayant besoin de paramètres

Le soucis est qu'au lancement du formulaire contenant le crystal viewer, j'obtiens des messages d'erreurs liés à des fichiers temporaires .rpt
Je pense que mon code est bon vu qu'il fonctionne sur un autre projet C# mais sous VS 2003
Autres précisions :
            - L'application fonctionne sur une base Oracle
            - Les fichiers dll nécessaires à l'utilisation de Crystal Report fonctionnent avec le Framework 2.0
            - J'ai testé un état Crystal Report sans paramètre et j'obtiens également une erreur : "erreur dans le moteur de recherche"

                                    Voici Mon Code
// Déclaration
        private ParameterFields        mParameterFields = new ParameterFields();
        private ParameterField          mParameterField  = new ParameterField();
        private ParameterDiscreteValue mDiscreteVal  = new ParameterDiscreteValue();
        private string                                                       m_sParametre = "";

// Code appelé
                mParameterField.ParameterFieldName = "discreteVal";       // Nom de la valeur discrete de l'état
                mDiscreteVal.Value                              = m_sParametre;    // Valeur string récupérée en paramètre

                mParameterField.CurrentValues.Add(mDiscreteVal);
                mParameterFields.Add(mParameterField);
               
                CR_11_Edition_Devis         crt             = new CR_11_Edition_Devis();

                #region Log de l'état
                crt.SetDataSource("BaseTest");
                crt.SetDatabaseLogon("test", "test");
                #endregion

                mCrViewer.ReportSource = crt;

Si quelqu'un à une idée, parce que la je n'ai plus beaucoup de temps, il me reste cette intégration à finir pour mon projet.

Merci d'avance

spike
vendredi 14 septembre 2007 à 09:09:53 | Re : Probleme Crystal Report C# Passage Parametre

spike62300

Mesdames et Messieurs,

J'ai trouvé la solution après maintes tentatives et recherches.
En fait, j'ai utilisé une classe spéciale en utilisant une classe nommé CachedReport

Je poste mon code pour ceux qui rencontre ou ont rencontré le probleme :

Classe CachedReport

using System;
using System.ComponentModel;
using System.Windows.Forms;

using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.ReportSource;
using CrystalDecisions.Shared;

namespace IHM
{
    public class CachedReport : Component, ICachedReport
    {
        protected ReportDocument Report = new ReportDocument();
        protected bool isCacheable;
        protected bool shareDBLogonInfo;
        protected string reportName;
        protected ParameterDiscreteValue parametre = new ParameterDiscreteValue();
        protected TimeSpan cacheTimeOut;

        public CachedReport(string s, ParameterDiscreteValue param)
        {
            reportName       = s;
            parametre        = param;
        }

        public virtual Boolean IsCacheable
        {
            get
            {
                return isCacheable;
            }
            set
            {
                isCacheable = value;
            }
        }

        public virtual Boolean ShareDBLogonInfo
        {
            get
            {
                return shareDBLogonInfo;
            }
            set
            {
                shareDBLogonInfo = value;
            }
        }

        public virtual TimeSpan CacheTimeOut
        {
            get
            {
                return cacheTimeOut;
            }
            set
            {
                cacheTimeOut = value;
            }
        }

        public virtual ReportDocument CreateReport()
        {
            try
            {
                Report.Load
                   (reportName, OpenReportMethod.OpenReportByTempCopy);
                Report.Site = this.Site;
                Report.SetParameterValue("discreteVal", parametre);
                Report.SetDatabaseLogon("getec", "getec");
            }
            catch(SystemException exp)
            {
                MessageBox.Show(exp.Message.ToString());
            }

            return Report;
        }

        public virtual String GetCustomizedCacheKey(RequestContext request)
        {
            String key = null;

            key = RequestContext.BuildCompleteCacheKey(
                request,
                reportName,
                this.GetType(),
                this.ShareDBLogonInfo);
            return key;
        }
    }
}


Code appelant la classe :

            try
            {
                mParameterField.ParameterFieldName = "discreteVal";   // Champ de parametre
                mDiscreteVal.Value                 = m_sParametre;             // Je récupère la valeur d'un string et je le met dans la valeur discrete
                mParameterField.CurrentValues.Add(mDiscreteVal);
                mParameterFields.Add(mParameterField);

                CachedReport cr = new CachedReport(@"C:\test\2007\CR_test.rpt", mDiscreteVal);
                mCrViewer.ParameterFieldInfo = mParameterFields;
                mCrViewer.ReportSource = cr;
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message);
            }

Et voila

spike


Cette discussion est classée dans : crystal, report, private, crt, mparameterfield


Répondre à ce message

Sujets en rapport avec ce message

Probleme Crystal Report Parametre C# [ par spike62300 ] Bonjour à tous, Je rencontre un soucis avec Crystal Report intégré à VS 2005Je développe sous C# et je veux intégrer certains états Crystal ayant beso Passage de parametre à Crystal Report en C# [ par benito16 ] Bonjour,Je developpe un programme en C#.Je souhaite utiliser Crystal Report pour faire des impressions de ce qui se trouve dans ma base de donnees.Je crystal report [ par choukri175 ] Bonsoir à tous et à toutes,J'ai besoin de définir un état où il y a des données qui sont saisies par l'utilisateur, autrement dit les données changent Edition avec Crystal Report [ par yh ] Bonjour,Je travaille avec Visual Studio 2003 et le framework 1.0Je voudrais créer des éditions avec le Crystal report intégré à Visual.Jusqu'à présent générer rapport crystal report sous C# [ par flywers82 ] bonjour,Je réalise une application web en c# sous visual studio 20005 pour des patients immunodéficients, je voudrais générer un rapport crystal repor Génération dynamique de Crystal Report [ par Yxion ] Bonjour,Je voulais savoir s'il existe un exemple de génération de rapport crystal dynamique : Création d'un doc, ajout de champs... non basé sur un rp crystal report [ par cirafina5 ] bonjour,j'ai un probleme avec crystal report,je veux rediger une facture avec crystal report et je ne sais pas d'ou je dois commencer.est ce quelqu'un Problème de champs formule Crystal report. [ par bcgetpause ] Bonjour, je travaille avec VS 2008 et crystal report 2008 et je voudrais pouvoir paramétrer des champs formule de mon report mais je ne sais pas comme Modification Crystal Report par l'utilisateur [ par Jleherpeur ] Salut à tous,Je suis entrain de créer une application commerciale.Et je souhaiterais permettre la modification du fichier rpt(crystal report) par l'ut Crystal report avec sous-états export PDF par code [ par maitredede ] Bonjour,Je dois faire une application pour générer à partir d'une base de données SQLServer une liste de factures. J'ai mon fichier rpt, et les deux r


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,122 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales