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

Visual Studio Discussion :

Création d'un reportWiewer avec dataSource = objet métier


Sujet :

Visual Studio

  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2008
    Messages : 464
    Points : 268
    Points
    268
    Par défaut Création d'un reportWiewer avec dataSource = objet métier
    Bonjour,

    L'utilisation des ReportViewer est très nouveau pour moi et j'avoue que je n'ai peut être pas assemblé toutes les briques correctement. Il subsiste des zones d'ombres que je n'arrive pas à éclaircir.

    Je préviens tout de suis je n'ai pas utilisé l'assistant de création de report.

    Bref j'ai créé un report : appelons le "report.rdlc".
    Je souhaite remplir ce report non pas avec un DataSet provenant directement de la BDD mais des objets métiers de mon application.

    Pour ce faire j'ai créé dans mon projet (appelons le "projet") une dataSource ou je viens choisir un objet métier correspondant à une collection appelons la "DataSourceMetier".

    Pour donnéer un order d'idée voici sa définition

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class Metier
    {
       public int cle;
    }
     
    public class DataSourceMetier : BindingList<Metier>
    {
    //...
    }
    Dans mon rapport je choisis ensuite ma source de données de mon appli :
    Dans le menu Rapport -> Sources de données ...

    Je viens créer un champs (appelons le "text") pour laquelle je définis la value égale à :
    First(Fields!cle.Value,"projet_DataSourceMetier")

    Je viens ensuite créer mon formulaire : appelons le form1.cs dans lequel j'intègre un reportviewer : appelons le reportViewer.

    Je vais donc au Load de mon form passer les paramètres à mon report (ma sources de données ).


    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
    18
    19
    20
     
    public partial class form1
    {
     
       private void Form1_Load(object sender, EventArgs e)
       {
           Metier m = new Metier();
           m.cle = 1;
           DataSourceMetier ds = new DataSourceMetier();
           ds.Add(m);
           // Et enfin
           reportViewer.Reset();
           ReportDataSource rds = new ReportDataSource("DataSourcesMetier");
           rds.Value = ds;
           reportViewer.ProcessingMode = ProcessingMode.Local;
           reportViewer.LocalReport.DataSources.Add(rds);
           reportViewer.LocalReport.ReportEmbeddedResource= 
            "projet.report.rdlc";
       }
    }
    Et là à l'execution ...
    Une instance de donnée manque pour la source de données "projet_DataSourceMetier.
    Je pense que l'erreur est classique et que je ne connais pas les classiques de ce sujet. Mais si quelqu'un peut m'apporter un peu d'aide ce serait bien sympa
    Je pense que mon erreur

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2008
    Messages : 464
    Points : 268
    Points
    268
    Par défaut
    Ne cherchez plus j'ai trouvé tout seul comme un grand !!!


    Il y a une subtile nuance : en effet le système attend le nom complet et la source de données (avec son espace de noms (pour lequel il remplace le "." par "_" : je n'ai pas compris la subtilité).

    Du coup dans mon code précédent il fallait remplacer le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ReportDataSource rds = new ReportDataSource("DataSourcesMetier");
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ReportDataSource rds = new ReportDataSource("projet_DataSourcesMetier");

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/04/2014, 17h24
  2. [PDO] Création d'objets métiers avec PDO
    Par Invité dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 25/01/2012, 14h05
  3. Réponses: 8
    Dernier message: 15/08/2007, 13h07

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