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

MFC Discussion :

Ajouter un nouvel élément (rapport)


Sujet :

MFC

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2008
    Messages : 354
    Points : 139
    Points
    139
    Par défaut Ajouter un nouvel élément (rapport)
    Bonjour,
    j'ai voulu générer un rapport à partir des données de mon application MFC.
    J'utilise Visual Studio 2010.
    Pour faire ça, j'ai cliqué sur projet->Ajouter un nouvel élément->Données->Rapport.
    ceci me génère un élément avec l'extension .rdlc.
    J'ai ajouté un tableau à ce fichier en utilisant la barre d'outil.
    mais j'ai pas trouvé comment je peux récupérer ce tableau pour stocker des informations à partir de mon projet.
    J'ai pas trouvé aussi des documentation qui permet de m'aider à générer un rapport à partir de mon application MFC
    Merci

  2. #2
    Membre éprouvé
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Points : 1 128
    Points
    1 128
    Par défaut
    Bonjour,
    j'ai voulu générer un rapport à partir des données de mon application MFC.
    J'utilise Visual Studio 2010.
    Pour faire ça, j'ai cliqué sur projet->Ajouter un nouvel élément->Données->Rapport.
    ceci me génère un élément avec l'extension .rdlc.
    J'ai ajouté un tableau à ce fichier en utilisant la barre d'outil.
    mais j'ai pas trouvé comment je peux récupérer ce tableau pour stocker des informations à partir de mon projet.
    J'ai pas trouvé aussi des documentation qui permet de m'aider à générer un rapport à partir de mon application MFC
    Merci
    Hmmm. C'est un très jolie problème.

    Voici la solution

    1. Design du rapport *.rdlc ou *.rdl à main levé (ajoute des composants tableaux, textbox, graphiques, tous les outils de SQL Reporting 2005, ajoute de dataset, connexion sql etc) . Ce genre de rapport tu le fais dans un projet CLR C++.NET juste pour le design de ton rapport.

    2. Si ton rapport doit apparaître dans une vue MFC et bien tu as le contrôle Winforms ReportViewer qui peut consommer des rapports *.rdlc
    Dans ce cas tu es confronté à hosté un winforms dans une vue MFC.
    [FAQ VC++]Comment héberger des Windows Forms Controls dans des vues MFC?

    3. Tu devras en final travailler avec la classe CWinFormsView hostant un ReportViewer ou bien un CWinFormsDialog

    La combinaison CWinFormsView + ReportViewer + rapport *.rdlc est une très bonne alternative à l'impression des documents sous .NET avec MFC contrairement à la méthode traditionnelle ou CView + CDC supporte toute l'impression en mode natif.

    Depuis longtemps je voulais balancer une Question-Réponse à ton problème à ma contribution à la FAQ VC.
    Maintenant tu m'as stimulé.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Février 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2008
    Messages : 354
    Points : 139
    Points
    139
    Par défaut
    Bonjour,
    Merci beaucoup Gabrielly pour votre aide.
    Je veux bien utiliser MFC seulement sans ajouter CLR.
    Est ce que c'est possible d'afficher le rapport .rdlc en utilisant CView +CDC.
    Je suis vraiment très reconnaisante pour vos aides
    Merci

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Février 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2008
    Messages : 354
    Points : 139
    Points
    139
    Par défaut
    Merci Gabrielly mais j'ai pas compris pourquoi il faut passer par une DLL.
    Si On fait une boite de dialogue winforms qui contient un reportviewer. je pense que ça va marcher?

    Merci pour la clarification.

  5. #5
    Membre éprouvé
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Points : 1 128
    Points
    1 128
    Par défaut
    Bonjour,

    Je veux bien utiliser MFC seulement sans ajouter CLR.
    ça te coûte absolument rien d'ajouter le support CLR dans ton application MFC
    [FAQ VC++]Comment ajuster les settings de ses projets MFC pour supporter des composants .NET.

    Est ce que c'est possible d'afficher le rapport .rdlc en utilisant CView +CDC.
    Oui si tu passes par une CWinFormsView (qui dérive de CView) + System::Windows::Forms::ReportViewer.
    A la méthode du composant ReportViewer::ReportPath tu lui passes ton .rdlc. Le composant lui-même s'occupe de rafraîchir ton rapport.
    Tu devras connaître un minimum de C++/CLI. Tu n'auras pas à t'occuper du CDC.

    Merci Gabrielly mais j'ai pas compris pourquoi il faut passer par une DLL.
    Si On fait une boite de dialogue winforms qui contient un reportviewer. je pense que ça va marcher?
    Non c'est pas obligatoire de passer par une dll. Et tu peux utiliser une CWinFormsDialog sur lequel tu places ton user contrôle ReportViewer.
    Il faut d'abord créer un User Control CLR qui embarque ton ReportViewer dans ton CLR Windows Forms Control Library. Il ne faut pas utiliser le ReportViewer directement dans ta boîte.

    Crée d'abord un CLR Windows Forms Control Library, c'est la première piste.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Février 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2008
    Messages : 354
    Points : 139
    Points
    139
    Par défaut
    Merci Gabrielly,
    j ai besoin maintenant d'ajouter des données à ce rapport à partir des données qui se trouve dans une boite de dialogue.
    J'ai utilisé la méthode que vous m'avez précisé.
    J'ai cliqué sur Taches reportViewer->choisir un rapport et j ai choisi report1.rdlc.
    mais j'ai pas trouvé comment je peux accéder à mon rapport pour modifier ses champs.
    C'est à dire dans le rapport (report.rdlc: j'ai un tableau et un diagramme (chart) et deux champs). je veux les remplir à partir de mon code MFC (code d'une boite de dialogue).
    Est ce qu'il y a quelqu'un qui peut m'orienter un peu pour que je puisse remplir mon rapport (report.rdlc)

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Février 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2008
    Messages : 354
    Points : 139
    Points
    139
    Par défaut
    La réponse se trouve dans le lien suivant:
    http://www.developpez.net/forums/d10...asets-nexiste/

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

Discussions similaires

  1. [Débutant] Ajouter un nouvel élément dans une liste à partir d'un formulaire
    Par pliza dans le forum Développement Sharepoint
    Réponses: 3
    Dernier message: 27/08/2014, 18h05
  2. Tableau d'objet, ajouter un nouvel élément
    Par crush911 dans le forum C#
    Réponses: 4
    Dernier message: 14/03/2014, 01h59
  3. Réponses: 2
    Dernier message: 30/09/2009, 16h55
  4. [Oracle] erreur quand je veux ajouter un nouvel élément
    Par sarahG dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 08/04/2008, 16h48
  5. Macro pour ajouter un nouvel élément dans un tableau
    Par dudu134 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/02/2007, 16h31

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