none
Allignement dans un DataGridView RRS feed

  • Question

  • Bonjour,

    Voici l'image actuelle:

    Comme vous pouvez le remarque tout es aligne à gauche.

    Voici un extrait de mon code.

    Dgv_Data.Rows(I).Cells(0).Value = Cls_Db_LeFoyer.RsFacturier.Fields("Num_Facturier").OriginalValue
    Dgv_Data.Rows(I).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
    Dgv_Data.Rows(I).Cells(1).Value = Cls_Db_LeFoyer.RsFacturier.Fields("Code_Imputation").OriginalValue
    Dgv_Data.Rows(I).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
    Dgv_Data.Rows(I).Cells(2).Value = Cls_Db_LeFoyer.RsFacturier.Fields("Date_Operation").OriginalValue.ToString.Trim
    Dgv_Data.Rows(I).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
    Dgv_Data.Rows(I).Cells(3).Value = String.Format("{0:00}", Cls_Db_LeFoyer.RsFacturier.Fields("Jour").OriginalValue)
    Dgv_Data.Rows(I).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
    Dgv_Data.Rows(I).Cells(4).Value = String.Format("{0:00}", Cls_Db_LeFoyer.RsFacturier.Fields("Mois").OriginalValue)
    Dgv_Data.Rows(I).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
    Dgv_Data.Rows(I).Cells(5).Value = Cls_Db_LeFoyer.RsFacturier.Fields("Annee").OriginalValue
    Dgv_Data.Rows(I).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
    Dgv_Data.Rows(I).Cells(7).Value = String.Format("{0:N}", Cls_Db_LeFoyer.RsFacturier.Fields("Total_Tvac").OriginalValue)
    Dgv_Data.Rows(I).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
    Dgv_Data.Rows(I).Cells(8).Value = String.Format("{0:N}", Cls_Db_LeFoyer.RsFacturier.Fields("Total_Tva").OriginalValue)
    Dgv_Data.Rows(I).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
    Dgv_Data.Rows(I).Cells(9).Value = String.Format("{0:N}", Cls_Db_LeFoyer.RsFacturier.Fields("Total_Htva").OriginalValue)
    Dgv_Data.Rows(I).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight

    Le code d'alignement de la colonne Fournisseur est en fin de procédure, voici le code

    Dgv_Data.Rows(I).Cells(6).Value = Cls_Db_LeFoyer.RsFacturier.Fields("Nom").OriginalValue
    Dgv_Data.Rows(I).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft

    Le résultat et celui de l'image.

    Si je place le code du RsFacturier.Fields("Nom").OriginalValue après la colonne 5

    Dgv_Data.Rows(I).Cells(5).Value = Cls_Db_LeFoyer.RsFacturier.Fields("Annee").OriginalValue
    Dgv_Data.Rows(I).DefaultCellStyle.Alignment
    = DataGridViewContentAlignment.MiddleRight

    Tout le tableau est aligne a droite,

    Comment aligner le tableau à droite et la colonne 6 Fournisseur à gauche?

    Merci de votre aide

    Cordialement

    Salva

    PS. : Il s’agit d'une application existant que je modifie

    lundi 12 décembre 2011 09:52

Réponses

  • Bonjour,

     

    Il suffirait que vous fixer l'alignement par défaut des cellules de la DataGride à TopRight (droite) :

    Vous pouvez le faire directement via le designer (propriété DefaultCellStyle), ce qui donne un code semblable au suivant :

            Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
    
            DataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.TopRight
            DataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window
            DataGridViewCellStyle2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            DataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText
            DataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight
            DataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText
            DataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
            Me.Dgv_Data.DefaultCellStyle = DataGridViewCellStyle2


    Vous pouvez bien sur taper le code vous même sans passer par le designer.

    En suite vous fixer explicitement l'alignement de la colonne 6 à ToLeft (gauche) :

     

            Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
    
            DataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.TopLeft
            Dim col = Me.Dgv_Data.Columns(5).DefaultCellStyle = DataGridViewCellStyle1
    
    
    

     


    Bien sur vous pouvez aussi configurer votre colonne via le designer (properiété Columns).

     

    Cordialement.



    lundi 12 décembre 2011 11:34
    Auteur de réponse

Toutes les réponses

  • Bonjour,

     

    Il suffirait que vous fixer l'alignement par défaut des cellules de la DataGride à TopRight (droite) :

    Vous pouvez le faire directement via le designer (propriété DefaultCellStyle), ce qui donne un code semblable au suivant :

            Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
    
            DataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.TopRight
            DataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window
            DataGridViewCellStyle2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
            DataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText
            DataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight
            DataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText
            DataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
            Me.Dgv_Data.DefaultCellStyle = DataGridViewCellStyle2


    Vous pouvez bien sur taper le code vous même sans passer par le designer.

    En suite vous fixer explicitement l'alignement de la colonne 6 à ToLeft (gauche) :

     

            Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
    
            DataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.TopLeft
            Dim col = Me.Dgv_Data.Columns(5).DefaultCellStyle = DataGridViewCellStyle1
    
    
    

     


    Bien sur vous pouvez aussi configurer votre colonne via le designer (properiété Columns).

     

    Cordialement.



    lundi 12 décembre 2011 11:34
    Auteur de réponse
  • Bonjour,

    Merci pour votre explication.

    Je vais mettre en patique.

    Cordialement

    Salva

    • Marqué comme réponse sa56 mardi 13 décembre 2011 17:38
    • Non marqué comme réponse Ould MouradEditor lundi 23 janvier 2012 13:16
    mardi 13 décembre 2011 07:56
  • Bonjour sa56,

    Avez vous finalement résoudre votre problème avec la proposition ?

    Merci de partager votre experience avec les autres utilisateurs du forum afin qu'ils puissent en profiter.

     

    Cordialement.

    mardi 17 janvier 2012 22:42
    Auteur de réponse