IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Accéder a un contrôle de mon ReportViewer. [Débutant]


Sujet :

C#

  1. #1
    Membre éclairé Avatar de solaar
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 607
    Par défaut Accéder a un contrôle de mon ReportViewer.
    Bonjour!
    Grace à une aide sur le forum j'ai pu avance sur mon code:

    http://www.developpez.net/forums/d13...-reportviewer/

    Actuellement mon souci c'est d'avoir accès a un contrôle de mon reportviewer dans mon code C#.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
       private void FrmEtatUneTraite_Load(object sender, EventArgs e)
            {
                ReportParameter[] parameters = new ReportParameter[1];
                parameters[0] = new ReportParameter("ReportParameterConv", NumberToWordConverter(text.text));
     
                this.reportViewer1.LocalReport.SetParameters(parameters);       
                // TODO: cette ligne de code charge les données dans la table 'TraiteDBDataSet.Tab_Traite'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
                this.Tab_TraiteTableAdapter.FillByCheckTraite(this.TraiteDBDataSet.Tab_Traite, clVariableGlobale._codeSocieteActif, clVariableGlobale._codeEtablissementActif,int.Parse(FrmListeTraiteModifiable._traite));
     
                this.reportViewer1.RefreshReport();         
            }
     
            public string NumberToWordConverter(long number)
            {
                return NumberConverter.Spell(number);
            }
    Merci pour l'aide.

  2. #2
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Citation Envoyé par solaar Voir le message
    Actuellement mon souci c'est d'avoir accès a un contrôle de mon reportviewer dans mon code C#.
    A quel genre de contrôles voudrais-tu accéder? Quel traitement voudrais-tu effectuer?

  3. #3
    Membre éclairé Avatar de solaar
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 607
    Par défaut
    parameters[0] = new ReportParameter("ReportParameterConv", NumberToWordConverter(text.text));
    le contrôle text.txt, qui lui prend une variable sur mon reportviewer.

  4. #4
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Je ne te su pas là...Le contrôle text.text se trouve sur ton formulaire pas sur le reportviewer. Attention, C# est "case sensitive" donc text.text et text.Text ne sont pas similaires.

    Si tu veux accéder à un contrôle textbox de ton reportviewer, je crois que tu ne pourras pas. Ceci parce qu' après l'affichage de ton reportviewer, cette notion de textbox ou de tableau est perdue. C'est la raison pour laquelle je te demandais le traitement que tu voudrais effectuer. Il y a possibilité d'écrire du code personnalisé pour les contrôles du reportviewer. Mais, je ne peux rien dire de précis si tu n'expliques pas en détails ce que tu souhaites faire.

  5. #5
    Membre éclairé Avatar de solaar
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 607
    Par défaut
    Merci Callo! je suis vraiment nouveau....
    Effectivement je parle plutôt d'une variable voir un champ du reportviewer que j'ai pris dans mon dataSet après filtre sur une requête.
    Et cette variable ou champs s'affiche et donne un chiffre que je cherche a convertir en lettre sur mon reportviewer en passant le paramètre que tu ma aidé à réaliser.

  6. #6
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Ben là, tu te compliques la vie. Ce topic répond parfaitement à ce que tu souhaites faire. Pas besoin de convertir ton chiffre en nombre sur le reportviewer. Fais le plutôt dans ton code c# et passe le résultat en paramètre à ton reportviewer.

    Tu créer un paramètre de type string nommé par exemple MontantEnLettre dans ton reportviewer. Puis tu fais un glisser-déposer du paramètre dans un textbox de ton reportviewer par exemple.

    Avec la fonction de convertion de chiffre en lettres disponible dans la librairie DVP.NET, tu crée une méthode comme ceci dans ton formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private string NumberToWordConverter(long number)
    {
        return NumberConverter.Spell(number);
    }
    Maintenant dans le code qui doit afficher ton rapport, tu fais un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // ....
    // Definition du paramètre devant contenir le montant en lettre 
    var myParam = new ReportParameter("MontantEnLettre", NumberToWordConverter(LeChiffreAConvertirEnLettre));
     
    TonReportViewer.LocalReport.SetParameters(myParam );
     
    TonReportViewer.RefreshReport();
    Si tu n'arrives toujours pas à t'en sortir, tu peux soit chercher un tuto sur le passage des paramètres à un reportviewer ou encore poster en PJ la partie de ton projet contenant le reportviewer pour qu'on essayes de voir là où ça coince.

    Bon courage.

  7. #7
    Membre éclairé Avatar de solaar
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 607
    Par défaut
    Oui c'est bien ce que j'ai fait lorsque j'ai suivi le topic dont tu parle.
    mais mon souci c'est la:
    // ....
    // Definition du paramètre devant contenir le montant en lettre
    var myParam = new ReportParameter("MontantEnLettre", NumberToWordConverter(LeChiffreAConvertirEnLettre));
    la variable LeChiffreAConvertirEnLettre, qui se trouve sur le reportviewer sous forme de field du dataSet.
    comment le retrouver dans mon code.

  8. #8
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Citation Envoyé par solaar Voir le message
    mais mon souci c'est la:

    la variable LeChiffreAConvertirEnLettre, qui se trouve sur le reportviewer sous forme de field du dataSet.
    comment le retrouver dans mon code.
    Considérons ton dataset typé nommé TraiteDBDataSet avec son DataTable « Tab_Traite» ayant par exemple trois colonnes "Id", "Nom", "ChampChiffreAConvertirEnLettre". Tu as la possibilité de parcourir le dataset à l'aide d'une boucle for ou avec un foreach.
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    TraiteDBDataSet dsTraite = new TraiteDBDataSet ();
    this.Tab_TraiteTableAdapter.Fill(this.TraiteDBDataSet.Tab_Traite, clVariableGlobale._codeSocieteActif, clVariableGlobale._codeEtablissementActif,int.Parse(FrmListeTraiteModifiable._traite));
    //Parcours de la table Tab_Traite avec foreach
    foreach(TraiteDBDataSet. Tab_TraiteRow row in dsTraite.Tab_Traite)
    {
        //la variable row contient la ligne que tu es en train de parcourir.
        MessageBox.Show(row.id);
        MessageBox.Show(row.Nom);
        MessageBox.Show(row.ChampChiffreAConvertirEnLettre);
    }

    Pour utiliser une boucle for, tu peux faire:
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    //Déclaration du DataSet
    TraiteDBDataSet dsTraite = new TraiteDBDataSet ();
    //... tu remplis le dataset 
    // .....
    // Parcourir les éléments à l'aide d'une boucle for : 
    for (int i = 0; i < dsTraite.Tables["Tab_Traite"].Rows.Count; i++) 
    {
    	int id =(int) dsTraite.Tables["Tab_Traite"].Rows[i].ItemArray[0]; 
    	string nom = dsTraite.Tables["Tab_Traite"].Rows[i].ItemArray[1].ToString();
    	int Montant =(int) dsTraite.Tables["Tab_Traite"].Rows[i].ItemArray[2]; 
            // Autre possibilité:
            int parent =(int) dsTraite.Tables["Tab_Traite"].Rows[i]["ChampChiffreAConvertirEnLettre"];
    }

    Donc en général, tu peux accéder à un champ d'une table d'un dataset via:
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    tonDataSet.Tables["NomDeTaTable"].Rows[i]["NomChanp"]

  9. #9
    Membre éclairé Avatar de solaar
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 607
    Par défaut
    Merci !!!! je travail sur mon projet ... j'ai obtenu quelque chose de new.

  10. #10
    Membre éclairé Avatar de solaar
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 607
    Par défaut
    j'ai pris la valeur sur mon formulaire non sur mon reportviewer.
    mais bon j'ai pas utilisé ta methode, mais merci pour la nouvelle methode

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Comment ajouter une fonction sur mon reportViewer
    Par solaar dans le forum C#
    Réponses: 4
    Dernier message: 27/12/2013, 16h20
  2. [AC-2010] Perte du contrôle de mon formulaire Access après l'envoi d'un mail
    Par bigounet dans le forum Access
    Réponses: 4
    Dernier message: 17/11/2012, 19h09
  3. [PHP 5.3] Contrôler le type MIME d'une image + contrôle de mon code
    Par beegees dans le forum Langage
    Réponses: 3
    Dernier message: 31/05/2011, 21h03
  4. Accéder à un server FTP via mon application
    Par SonnyFab dans le forum ASP.NET
    Réponses: 13
    Dernier message: 24/07/2010, 13h12
  5. Réponses: 3
    Dernier message: 19/08/2006, 19h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo