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

Windows Forms Discussion :

1 DataGridView pour plusieurs données


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Par défaut 1 DataGridView pour plusieurs données
    Bonjour à vous.
    J'ai 2 combobox qui me détermine un datagrid view particulier à afficher.

    - La 2° combo (de 4 choix) me définit le type de datagridview, j'ai pour cela 4 datagridview que je rend visible ou non en fonction du type choisit.

    - Alors que le 1° combobox me définit une autre information.
    Pour chaque information j'ai les 4 choix de ma 2° combo.
    Le problème est que l'utilisateur peut passer d'1 information à l'autre et d'un type à l'autre, et je dois avoir la capacité de tout conserver.
    Il selectionne à la fin 1 seul couple info/type que je sauvegarde, mais entre temps il a pu en modifier plusieur pour essayer.

    Mon problème est alors de conserver les données qui sont différentes pour chaque couple information/type.

    J'aimerais alors, pour chaqu'un de mes 4 DataGridView sauvegarder 10 sources de données que j'aurais récupérées simplement à partir des données lues sur le DataGridView que l'utilisateur aura modifié.

    Pour le moment l'utilisateur passe d'un type à l'autre les modifient et fonction du type selectionné j'affiche tel ou tel DataGridView.

    J'espère avoir été assez clair dans mes explications.
    Merci à vous pour votre aide.

  2. #2
    Membre Expert

    Inscrit en
    Novembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2006
    Messages : 128
    Par défaut
    Utilise des DataTable et bind toi dessus.

  3. #3
    Membre Expert Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Par défaut
    Merci pour l'idée, je suis en train d'essayer ce la mias pour le moent j'ai des problèmes avec les colonnes. Entre la définition de ces colonnes pour mon datagridView directeemnt, ou uniquement pour mes DataTables.
    De plus j'ai quelques problème sur les mise à jour de sliaisons et de l'affichage.
    Je cherche

  4. #4
    Membre Expert

    Inscrit en
    Novembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2006
    Messages : 128
    Par défaut
    C'est quoi les problèmes que tu rencontres ?

  5. #5
    Membre Expert Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Par défaut
    J'ai créé des colonnes directement à mes 4 datagridViews (DGV).
    J'ai également créé 4 BindingSources (BS) et les ai associé aux DGV de la manière suivante :
    Ensuite j'ai créé 4 listes de DataTables (DT).
    A la première arrivé sur le form, je regarde quel type de calcul est ce que je dois afficher, je crée une DataTable en fonction et j'en remplis ma liste de DataTable.
    Ensuite je donne cette DataTable en DataSource à ma BS.

    Ensuite lorsque l'utilisateur change de type ou de mode, je vérifie si j'ai déjà sauvegardé une DataTable, au quel cas je la donne en dataSource à un de mes BindingSource; sinon je crée une nouvelle DataTable.

    Jusque là je pense que c'est bon, amis je ne suis pas sûr que mon utilisation des BindingSources soit très correcte ???

    Ensuite mon problème est que pour créer ma DataTable à partir de mes objets, j'ai besoin de connaitre le nom des colonnes que je dois remplir. Je passe donc mon DataGidView à une méthode qui pour chaque colonne (moins la première car spéciale) va créer une nouvelle colonne dans une DataTable, puis va devoir supprimer les colonnes (moins la première toujours) de mon DataGridView, remplir la DataTable à partir de mes Objets et ensuite renvoyer cette DataTable qui sera associée au DataSource du BindingSource correspondant.

    Le problème est que cette méthode ne parait pas clean du tout....

    Merci à toi pour ton aide si mes explications sont compréhensibles.

  6. #6
    Membre Expert

    Inscrit en
    Novembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2006
    Messages : 128
    Par défaut
    Jusque là je pense que c'est bon, amis je ne suis pas sûr que mon utilisation des BindingSources soit très correcte ???

    Oui c'est bon.

    Ensuite mon problème est que pour créer ma DataTable à partir de mes objets, j'ai besoin de connaitre le nom des colonnes que je dois remplir. Je passe donc mon DataGidView à une méthode qui pour chaque colonne (moins la première car spéciale) va créer une nouvelle colonne dans une DataTable, puis va devoir supprimer les colonnes (moins la première toujours) de mon DataGridView, remplir la DataTable à partir de mes Objets et ensuite renvoyer cette DataTable qui sera associée au DataSource du BindingSource correspondant.

    C'est inutile de supprimer les colonnes de ta DGV avec le binding, il va s'adapter tout seul, sauf erreur de ma part. De plus, je ne comprends pas pourquoi tu veux supprimer les colonnes de ta table alors que tu la sauvegardes (principe de cache). Enfin, pour générer les colonnes de ta table, je te conseille de passer par le réflexion avec des attributs sur les propriétés de tes objets qui doivent être présentes dans la table.

Discussions similaires

  1. [AC-2000] Erreur : Aucune des valeurs données pour plusieur des paramètres requis
    Par mcfly37 dans le forum VBA Access
    Réponses: 10
    Dernier message: 21/04/2009, 14h11
  2. Réponses: 5
    Dernier message: 12/06/2008, 22h49
  3. Affichage des mêmes données pour plusieurs membres :O
    Par Whinging dans le forum Langage SQL
    Réponses: 4
    Dernier message: 14/04/2008, 22h29
  4. Réponses: 3
    Dernier message: 17/03/2008, 10h15
  5. Réponses: 2
    Dernier message: 21/10/2006, 17h27

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