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 :

[VB.NET] Taille differente pour chaque colonne dans DATAGRID


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 38
    Points : 26
    Points
    26
    Par défaut [VB.NET] Taille differente pour chaque colonne dans DATAGRID
    Bonjour à tous.

    Je souhaiterais avoir des tailles de colonne différente (celon ce qu'il y a dedans, soit elles sont trop petite, soit elles sont trop grande) dans mon DATAGRID et ne plus avoir une taille fixe pour toute, mais je n'y parviens pas.

    Est-ce que DATAGRIDTABLESTYLE est la solution, si oui, est-ce que quelqu' peut m'expliquer comme sa marche.

    Merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 30
    Points : 31
    Points
    31
    Par défaut
    Oui, tu seras obligé de passer par le DatagridTableStyle

    voici un exemple:
    on suppose que ton Datagrid se nomme: dtg

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
            Dim styleGrille As New DataGridTableStyle
            Dim styleCol As DataGridColumnStyle
     
            styleCol = New DataGridTextBoxColumn
            styleCol.HeaderText = "Mon Titre"         ' titre de la colonne
            styleCol.MappingName = "titre"      ' nom de la colonne dans la table
            styleCol.NullText = 0
            styleCol.Width= 100                       ' largeur de la colonne
            styleGrille.GridColumnStyles.Add(styleCol)
     
            dtg.TableStyles.Add(styleGrille)

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    OK super !! Je crois que j'ai bien compris cette partie la.

    Maintenant, comment je fais pour l'utiliser ?

    Je recupere des données depuis une table qui se trouve dans un fichier ACCESS, et je voudrais donner des tailles differentes pour chaque colonne.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 30
    Points : 31
    Points
    31
    Par défaut
    bah c'est simple, des que tu as chargé ta table dans le datatgrid, tu rajoutes le code précédents. Bien entendu tu dois réécrire les 6 lignes centrales autant de fois qu'il y a de colonnes que tu veux afficher.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Ca ne marche pas !!
    Je te donne mon code, peut etre que je fais quelque chose de mal.

    [/code]
    Dim MyConnection As New System.Data.OleDb.OleDbConnection
    Dim MyAdapter As OleDbDataAdapter = New OleDbDataAdapter
    Dim MyDataSet As DataSet = New DataSet
    Dim styleGrille As New DataGridTableStyle
    Dim styleCol As DataGridColumnStyle

    Dim ChemBdd As String = Application.StartupPath & "\Base\bd.mdb"
    MyConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & ChemBdd

    Try
    Dim StrConnect As String = "select Titre, Dispo from Base"
    Dim MyCommand As OleDbCommand = New OleDbCommand(StrConnect, MyConnection)

    MyAdapter.SelectCommand = MyCommand
    MyDataSet.Clear()
    MyAdapter.Fill(MyDataSet)
    DG_OTV.DataSource = MyDataSet.Tables(0)

    styleCol = New DataGridTextBoxColumn
    styleCol.HeaderText = "Mon Titre1" ' titre de la colonne
    styleCol.MappingName = "test" ' nom de la colonne dans la table
    styleCol.NullText = 0
    styleCol.Width = 200 ' largeur de la colonne
    styleGrille.GridColumnStyles.Add(styleCol)

    styleCol = New DataGridTextBoxColumn
    styleCol.HeaderText = "Mon Titre2" ' titre de la colonne
    styleCol.MappingName = "test2" ' nom de la colonne dans la table
    styleCol.NullText = 0
    styleCol.Width = 20 ' largeur de la colonne
    styleGrille.GridColumnStyles.Add(styleCol)

    DG_OTV.TableStyles.Add(styleGrille)
    Catch ex As Exception
    MessageBox.Show("Impossible d'établir la connection à la base.")
    End Try

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 30
    Points : 31
    Points
    31
    Par défaut
    sors les nouvelles lignes du Try Catch et observe le type d'erreur obtenue.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Je n'ai aucune erreur !!

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 30
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par stephane93fr
    Je n'ai aucune erreur !!
    comment est affiché ton Datagrid ???

  9. #9
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Et bien je l'ai créé depuis la partie DESIGN !! Et j'ai laissé les valeurs par defaut.

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 30
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par stephane93fr
    Et bien je l'ai créé depuis la partie DESIGN !! Et j'ai laissé les valeurs par defaut.
    dans ce cas, va dans la propriété TableStyles de ton Datgrid, via le Designer et vérifie qe tu n'as pas créé un style.
    si c'est le cas, alors le supprimer.

  11. #11
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Je n'en ai pas créé !!

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 30
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par stephane93fr
    Je n'en ai pas créé !!
    essaie de mettre les nouvelles lignes , avant l'affectation de la table à la Datagrid

  13. #13
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Malheureusement, j'ai essaye de mettre avant ou apres, et c'est pareil !!

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 30
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par stephane93fr
    Malheureusement, j'ai essaye de mettre avant ou apres, et c'est pareil !!
    j'avais pas pris le temps de lire le code que tu avais posté !!!!

    Ta requete SELECT donne les colonnes Titre et Dispo

    donc tu dois utiliser les même NOM pour le mapping !!!
    c'est à dire:

    styleCol.MappingName = "Titre" et non pas "test"

    idem pour "Dispo" à la place de "test2"


    tu aurais du me dire qu'à l'affichage , tu n'avais AUCUNE colonne !!

  15. #15
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Le probleme est que j'ai déjà modifie les MAPPING NAME comme tu le dis, et quoi que je face, mes colonnes apparaissent, mais les STYLE ne s'applique pas.

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

Discussions similaires

  1. [XL-2010] Afficher dans un tableau2 la Valeur MAX pour chaque colonne d'un tableau 1
    Par debutanteVba dans le forum Macros et VBA Excel
    Réponses: 24
    Dernier message: 30/10/2013, 15h28
  2. [WD17] Calcul résultat de 2 colonne pour chaque ligne dans une table
    Par magicien33 dans le forum WinDev
    Réponses: 5
    Dernier message: 09/09/2013, 11h28
  3. Réponses: 1
    Dernier message: 03/07/2007, 16h04
  4. [SQL]Somme pour chaque colonne de requete analyse
    Par Kekou03 dans le forum Access
    Réponses: 2
    Dernier message: 12/03/2005, 03h34
  5. Réponses: 3
    Dernier message: 23/01/2004, 21h02

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