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

VB.NET Discussion :

[VB.net 2010] Question d'architecture : objet, datagrid et dataset


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Bz
    Bz est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 176
    Par défaut [VB.net 2010] Question d'architecture : objet, datagrid et dataset
    Bonjour,

    Voila, je souhaiterai charger des données de ma bdd (une liste de personnes) dans un datagridview.
    Bon, jusque la tout va bien, il suffirait de créer un dataset/datatable et de le binder sur le dgv, et d’appeler les méthodes d'update, etc...
    Par contre je souhaiterai aussi que ces personnes soient en même temps chargées dans des classes métier de mon application.
    C'est la que ça se complique (pour moi).

    Ce que je ferai (et qui ne semble pas être une bonne idée), c'est
    1 - Créer un dataset de ma liste de personnes
    2 - Créer les instances de cPersonne à partir du dataset
    3 - Binder le dataset sur le gridview

    Par contre ça m'oblige à maintenir à jour les données d'une part du dataset et d'autre part des instances de cPersonnes à chaque mise à jour de cellule.

    Une idée ?
    merci

  2. #2
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Bonjour,

    Dans ce type d'appli, nous utilisons l'architecture suivante :

    Base de donnée
    |
    Datatable 1 lue via un DataAdapter
    |
    Liste d'objets métiers

    |
    DataTable 2 (avec des colonnes dérivées de la classe métier, une colonne IdMetier permettant un lien sur les objets metiers)
    |
    DatagridView (bindé à la DataTable 2, colonne IdMetier invisible)

    La mise à jour se fait dans cet ordre :
    - IHM -> objets métiers,
    - objets métiers -> DataTable 1
    - DataTable 1 -> base de donnée
    - objets métiers -> DataTable 2
    - le DataGridView est mis à jour automatiquement par le binding.

  3. #3
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Je proposerais plus simple.

    Base de donnée
    |
    Objets métiers
    |
    DatagridView

    Vous pouvez faire un binding directement à partir d'un object qui implemente l'interface IList

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  4. #4
    Bz
    Bz est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 176
    Par défaut
    Tout d'abord merci pour vos réponses.
    Laurent, quelle est la différence avec ce que je propose ?
    Graffito, l'interet de la dt2, c'est de bien segmenter le projet avec une dt1 metier et une dt2 "IHM" ou parce qu'on ne peut pas sélectionner seulement les colonnes de dt1 qui seront affichées dans le gridview ?

  5. #5
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Citation Envoyé par Bz Voir le message
    Laurent, quelle est la différence avec ce que je propose ?
    Tu copies les données de ton dataset vers CPersonne mais tu utilises toujours ton Dataset pour faire le binding, pourquoi alors perdre le temps à charger un List<CPersonne> si l'on ne va pas s'en servir ?

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  6. #6
    Bz
    Bz est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 176
    Par défaut
    J'aimerai utiliser des objets, même si effectivement ce n'est pas nécessaire dans ce cas la, juste pour avoir dans l'application une structuration métier et pas dataset->datagridview ou on perd ces notions

Discussions similaires

  1. [VB.NET] remplir datagrid dans un projet wpf vb.net 2010
    Par guismi.amine dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 11/05/2011, 15h24
  2. (vb.net 2010) Questions diverses.
    Par jojo1284 dans le forum VB.NET
    Réponses: 3
    Dernier message: 20/01/2011, 10h52
  3. [VS.net 2005] Question philosophique sur les objets
    Par WriteLN dans le forum Framework .NET
    Réponses: 8
    Dernier message: 23/08/2007, 10h34
  4. [ASP.NET VB.NET]Petite question au sujet du datagrid
    Par Azephel dans le forum ASP.NET
    Réponses: 11
    Dernier message: 06/03/2007, 17h38

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