begin process at 2012 02 16 01:53:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

General

 > 

Format monétaire dans un DataGridView


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Format monétaire dans un DataGridView

dimanche 15 juin 2008 à 15:17:43 | Format monétaire dans un DataGridView

Zeny

Bonjour,


Bon voila je patauge depuis quelques temps sur quelque chose qui devrait pourtant etre simple : Mettre au format monétaire une colonne d'un DataGridView indépendant.

pour que lorsqu'un nombre (passons sur le problème du controle de validité) par exemple 12 est saisi, la valeur affichée devienne 12,00 dans cette colonne

D'aprés l'aide disponnible sur MSDN j'ai essayé d'utilisé :

monDataGridView.Columns(4).DefaultCellStyle.Format = "c"  'sans résultat
monDataGridView.Columns(4).DefaultCellStyle.Format = "c"  'sans résultat pour 2 chiffre aprés la virgule

j'ai tenté de placer ce code dans plusieurs évenements sans succés
je précise aussi que le DataGridView en question est ajouté dynamiquement.

Voila en espérant avoir été clair, je vous remerci d'avance pour toutes les infos que vous pourrez m'apporter.

un extrait de code pour etre plus clair :

Public

Class Form1

'==========================================================================================

' CHARGEMENT DU FORMULAIRE

'==========================================================================================

PrivateSub Form1_Load(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.Load

Dim myGrid AsNew DataGridView

Me.Controls.Add(myGrid)

  With myGrid

    .Location =

New System.Drawing.Point(50, 50)

    .RowHeadersVisible =

False

    . MultiSelect =

False

     .AllowUserToAddRows =

False

     .AllowUserToDeleteRows =

False

     .AllowUserToOrderColumns =

False

       .AllowUserToResizeColumns =

False

      .AllowUserToResizeRows =

False

.Width = 703

.Height = 465

.RowCount = 20

.ColumnCount = 5

.Columns(0).Width = 50

.Columns(1).Width = 400

.Columns(2).Width = 50

.Columns(3).Width = 100

.Columns(4).Width = 100

.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

.Columns(0).Name =

"REF"

.Columns(1).Name =

"DESCRIPTION"

.Columns(2).Name =

"QTE"

.Columns(3).Name =

"Px. UNIT"

.Columns(4).Name =

"Px TOTAL HT"

.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight

.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight

 

'LA PARTIE QUI ME POSE PROBLEME

'ne produit pas d'erreur mais ne 'formate' pas la colonne

.Columns(3).DefaultCellStyle.Format =

"c"

.Columns(4).DefaultCellStyle.Format =

"c"

 

EndWith

EndSub

End

Class
lundi 16 juin 2008 à 18:32:36 | Re : Format monétaire dans un DataGridView

christoni

Membre Club
Réponse acceptée !
Bonsoir,
voici une piste :
tu déclares to DataGV et l'abonne aux événements de la classe correspondante.
Et tu supprimes la déclaration en rouge :


Public Class Form1
    Private WithEvents myGrid As New DataGridView

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles Me.Load
        ' Dim myGrid As New DataGridView

        With myGrid
            .Location = New System.Drawing.Point(50, 50)
            .RowHeadersVisible = False
            .MultiSelect = False
            .AllowUserToAddRows = False
            .AllowUserToDeleteRows = False
            .AllowUserToOrderColumns = False
            .AllowUserToResizeColumns = False
            .AllowUserToResizeRows = False
            .Width = 703
            .Height = 465
            .RowCount = 20
            .ColumnCount = 5

            .Columns(0).Width = 50
            .Columns(1).Width = 400
            .Columns(2).Width = 50
            .Columns(3).Width = 100
            .Columns(4).Width = 100
            .ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

            .Columns(0).Name = "REF"
            .Columns(1).Name = "DESCRIPTION"
            .Columns(2).Name = "QTE"
            .Columns(3).Name = "Px. UNIT"
            .Columns(4).Name = "Px TOTAL HT"

            .Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
            .Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
            .Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
            .Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
        End With
        Me.Controls.Add(myGrid)
    End Sub

L'événement suivant gère la mise en forme :

    Private Sub myGrid_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) _
    Handles myGrid.CellFormatting
        If myGrid.Columns(e.ColumnIndex).Name.Equals("Px. UNIT") Then
            If e.Value > 0 Then
                e.Value = CDec(e.Value).ToString("N2")
            End If
        End If
    End Sub
Bonne continuation.

mardi 17 juin 2008 à 09:49:17 | Re : Format monétaire dans un DataGridView

Zeny


Bonjour Christoni

Merci a toi  t'es un champion tu m'as bien dépanné

zeny


Cette discussion est classée dans : format, false, columns, width, defaultcellstyle


Répondre à ce message

Sujets en rapport avec ce message

Pb Datagrid [ par gaa179 ] Bonjour,J'ai le problème suivant je n'arrive pas attribuer des champs à des colonnes dans un datagrid.Voici mon code: StrSql = "SELECT article.Rea, ouverture du navigateur web depuis un datagrid [ par nonogpp01 ] Bonour,Jai un programme en dèveloppement qui me pose problème sur la question des liens contenus dans un datagrid.J'ai cherché et trouvé pas mal de ch Datagrid et requête sql [ par serge99 ] Bonjour,J'effectue une requête Sql pour obtenir tout les valeurs de ma table ayant par exemple T1000-100-05 .Voici ma requête: SQLstmt = "SELECT [id], [déplacé VB.NET -> ASP.NET] Desactiver 1 control (textbox) dans 1 templateColumn d'1 Datagrid ? [ par lolymeupy ] Bonjour, j'ai 1 datagrid avec 2 colonnes de type templateColumn (pour pouvoir les modifier avec 1 EditCommandColumn) mais sel Changer un format Text en Number dans une macro [ par Flefe2000 ] Bonjour, J'essai de change le format d'une colonne ... de texte à "Number". Je commence par changer le point par une virgule puis je change le forma [Catégorie modifiée VB6 --> VBA] Format décimal [ par YEBOKOLO ] Bonjour à toutes et à tous, Je reçois, de l’intranet de la société, un fichier au format Excel, les chiffres sont dans un format particulier : - les VBA - Macro sauvegarde à tord un fichier toto.docx en format 2003 sous word 2007 [ par cywal ] Bonjour à tous, J'ai créé une macro VBA qui tournait sous word 2003 dans un fichier macro.doc. J'ai installé office 2007, convertit mon fichier macr Problème lors de l'ouverture d'ub fichier txt en xls /format date [ par linoumios ] Bonjour, Je suis débutant en VBA et sur les forums !!!!! Lorsque j'ouvre un fichier TXT, j'ai des dates qui passent de format européen en format améri recuperer des donnees dans listview [ par chris09300 ] Bonjour j'ai commencer un code, pour recuperer des donnees d'une feuille excel dans une listview, j'ai bien les entetes, mais je ne sais comment faire modifier format jj/mm/aa en mmmm dans une listview [ par chris09300 ] Bonsoir je souhaiterais changer le format jj/mm/aa dans ma listview, pourtant dans ma feuille excel j'ai bien ce format. merci ci dessous mon code


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales