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 :

DataGrid colonne dynamique


Sujet :

C#

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur Junior développement logiciels
    Inscrit en
    Mai 2014
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Junior développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 198
    Points : 113
    Points
    113
    Par défaut DataGrid colonne dynamique
    Bonjour,

    Jje cherche à me créer un datagrid dynamique qui me permettrai d'éviter de recréer mon tableau à chaque fois que je modifie une table dans ma BDD.


    Dans mon DataGrid je dispose en premier de colonne qui sont invariables (nom, prénom, numéro).

    Par la suite je rajoute des compteurs avec un nom.
    Chaque compteur à sa propre colonne mais, j'aimerai que cette liste de compteurs qui provient d'une autre table (accessible par dictionnaire dans mon ViewModel) puisse être mise à jour lorsque je supprime ou ajoute un compteur.

    Ce qui veut dire une suppression ou ajout de colonne en fonction des modifs de cette table.

    Je cherche donc à savoir comment faire une première partie de tableau invariable avec quelques colonnes variables.


    Tout aide sera la bienvenue.
    En vous remerciant d'avance.

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    salut

    bah, tu peux par exemple mettre le datagridView en mode "autogenerate" qui va générer automatiquement les colonnes en fonction de ce qui s'y trouve...

    Après, tu peux très bien ajouter un peu de code si tu veux... pour customiser certaines colonnes....

    Sinon, il suffit de gérer manuellement la création des colonnes et de binder avec la clé de la colonne base de données... bref, il suffit de faire par code le boulot
    du designer...
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur Junior développement logiciels
    Inscrit en
    Mai 2014
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Junior développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 198
    Points : 113
    Points
    113
    Par défaut
    Je ne veux pas afficher mon objet en entier alors je ne peux pas utiliser le datagridview auto.


    En plus de ça je suis en MVVM alors le code derrière la vue j'essaie d'éviter autant que possible.

    Mais je me posais la question de savoir s'il était possible de binder les colonnes sur les clés de mon dictionary ?

    Comme ça je n'ai plus qu'à gérer le dico...



    Concrètement dans mon ViewModel j'ai une ObservableCollection<PersonneViewModel> qui me permet d'afficher nom et prenom.

    Dans mon PersonneViewModel j'ai un Dictionary<String,Int> (dont les clés sont les mêmes pour tout le monde sauf les valeurs).

    Et donc à la suite des colonnes dans lesquelles j'affiche des données de PersonneViewModel je voudrai rajouter des colonnes qui representeront ce dictionnary.


    C'est un peu comme faire un autre Datagrid sauf que je voudrai rajouter des colonnes et non pas des lignes...

    Moitié statique et moitié dynamique

  4. #4
    Membre averti
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2014
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 196
    Points : 331
    Points
    331
    Par défaut
    Un UserControl avec dedans un DataGrid et quelques DependencyProperty devrais faire l'affaire.

    Ou sinon un objet dynamique intermédiaire :http://msdn.microsoft.com/fr-fr/libr...vs.110%29.aspx

  5. #5
    Membre du Club
    Inscrit en
    Février 2013
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 34
    Points : 43
    Points
    43
    Par défaut
    Utilise un Datable.
    Bond juste l'itemsource de ton datagrid sur datatable.defaultview . active AutogeneratedColumns

    Dans ton vue modèle tu devras faire datatable.columns.Add("nom") et
    Datatable.Rows.Add(new object[]{})
    Attention les noms des cols ne doivent pas contenir de points ou /

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

Discussions similaires

  1. Ajouter colonne dynamique datagrid
    Par Naografix dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 10/12/2014, 13h03
  2. [Débutant] Datagrid Binding & colonnes dynamique
    Par deathspirit dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 02/09/2013, 14h03
  3. Réponses: 2
    Dernier message: 20/04/2011, 11h57
  4. Colonne dynamique dans DataGrid
    Par REMACC1 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 25/03/2009, 12h24
  5. nombre de colonnes dynamiques dans une Datagrid
    Par khayri dans le forum Struts 1
    Réponses: 2
    Dernier message: 04/06/2007, 21h14

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