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

VB 6 et antérieur Discussion :

Mise en forme des cellules d'une flexgrid


Sujet :

VB 6 et antérieur

  1. #1
    Membre habitué Avatar de ecarbill
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Cyberdocumentaliste
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Points : 146
    Points
    146
    Par défaut Mise en forme des cellules d'une flexgrid
    J'affiche les données d'un champs Date dans une flexgrid. Et les résultats s'affichent au format : 2007-08-12 00:00:00 (Affichage en Anglais, avec heure). J'aimerais un affichage du type 08-12-2007 (En vfrançais et sans affichage de l'heure). Comment procède t-on ?

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Bonjour,

    F1 sur "Format"

  3. #3
    Membre habitué Avatar de ecarbill
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Cyberdocumentaliste
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Points : 146
    Points
    146
    Par défaut
    Oui mais je n'ai pas le MSDN. Donc ça peut pas marcher !

  4. #4
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Dans ce cas (et surtout pour une question aussi élémentaire) : google avec les mots format et VB... et lire... s'il te plait... plutôt que de faire là ce que tu fais sur ce forum de développement et pas d'acquiisition de la connaissance des fonctions les plus élémentaires de VB... Merci.

  5. #5
    Membre habitué Avatar de ecarbill
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Cyberdocumentaliste
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Points : 146
    Points
    146
    Par défaut
    Ha !! ouais, j'ignorais que le forum était un point de rencontre des génis en base de données

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    comment rempli tu les cellules de ton flexgrid..

  7. #7
    Membre habitué Avatar de ecarbill
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Cyberdocumentaliste
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Points : 146
    Points
    146
    Par défaut
    Voilà comment je rempli la Flexgrid:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
          ' Ouverture de la connection à la base de données
        Set CnnDb = New ADODB.Connection
        Set MaTable = New ADODB.Recordset
        Mabase = App.Path  & "base.mdb"
        CnStr = "driver={Microsoft Access Driver (*.mdb)};dbq=" & MaBase
        MaTable.Open SQL, CnStr, adOpenKeyset, adLockReadOnly
    -----------------
                Set MonFlexGrid.DataSource = MaTable
    ----------------

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set MonFlexGrid.DataSource = MaTable
    Il faudra probablement que tu modifies cela puisque que tu ne remplis pas les lignes de ta grille "manuellement" (méthode .AddItem) mais par liaison de ton objet à une base/table. Les données sont donc affichées brutes. Tu dois pouvoir traiter les informations contenues dans la table avant de les rentrer dans la grille.
    Fais une recherche avec "MsFlexGrid + AddItem", pour commencer. Une fois la méthode comprise, on pourras alors t'orienter pour formater tes dates.

  9. #9
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    Citation Envoyé par Phifi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set MonFlexGrid.DataSource = MaTable
    Il faudra probablement que tu modifies cela puisque que tu ne remplis pas les lignes de ta grille "manuellement" (méthode .AddItem) mais par liaison de ton objet à une base/table. Les données sont donc affichées brutes. Tu dois pouvoir traiter les informations contenues dans la table avant de les rentrer dans la grille.
    Pas forcement, je ne suis pas d'accord Phifi. ca peut etre contournable par une petite procedure.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub ChangeFormat (MSF as MSFlexGrid)
        Dim i as integer
     
        For i =1 to MSF.Rows
               'Je suppose que les dates sont a la 4eme Colone    
               MSF.Textmatrix(i,3) = Format(MSF.textmatrix(i,3),"dd-mm-yyyy")
        Next
    End Sub
    et tu l'appel just apres avoir rempli le MSFlexGrid comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     ' Ouverture de la connection à la base de données
        Set CnnDb = New ADODB.Connection
        Set MaTable = New ADODB.Recordset
        Mabase = App.Path  & "base.mdb"
        CnStr = "driver={Microsoft Access Driver (*.mdb)};dbq=" & MaBase
        MaTable.Open SQL, CnStr, adOpenKeyset, adLockReadOnly
    -----------------
                Set MonFlexGrid.DataSource = MaTable
    ----------------
        ChangeDate MonFlexGrid

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Contournable en effet... et dans ce cas précis qui plus est. Mais si son prochain post est : "comment formater la somme de deux champs dans une cellule ?" (bien sûr qu'on y arriverait aussi en cherchant bien...)

    C'était une piste de réflexion, histoire de modifier plutôt la méthode que de "contourner" le problème par une rustine.

    Est-ce que dans tes projets, tu lies tes FlexGrid à tes tables de cette façon sovo (.DataSource) ? Qui le fait ici dans le cadre de projets professionnels, sans traiter les informations à priori ?

  11. #11
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Perso, je utilise que le DbGrid, et encore uniquement en visualisation. Il a l'avantage de pouvoir préciser le format d'affichage, la largeur des colonnes au desing time

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Perso, je utilise que le DbGrid, et encore uniquement en visualisation. Il a l'avantage de pouvoir préciser le format d'affichage, la largeur des colonnes au desing time
    Par curiosité, comment gères-tu les listing de données (mise en forme avancée, interaction au click...) ? avec quel objet ?

  13. #13
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    J'utilise le DbGrid en relation avec un datacontrol Dao, j'utilise les evenements du DataControl (Data1_Reposition) pour detecter les changement de lignes dans le grid. Dans le DbGrid, je ne gere que le DbGrid1_HeadClick pour reclasser le datagrid sur la colonne selectionnée.

    Pour formater les colonnes, Je fais ça au Desing time en general.
    Il faut donner une table valide dans le datacontrol (DataBaseName et RecordSource) Ensuite lier le DbGrid (DataSource = DataControl), ceci fait , le click droitsur le DbGrid permet d'extraire les champs de la table pour obtenir les colonnes du DbGrid.
    Dans les propriètés du DbGrid , onglet Colonne pour le format et Disposition pour la largeur

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/01/2011, 14h52
  2. Réponses: 3
    Dernier message: 19/07/2007, 09h19
  3. Réponses: 2
    Dernier message: 11/07/2006, 17h08
  4. Réponses: 6
    Dernier message: 16/06/2006, 14h20
  5. [POI] difficultés dans la mise en forme des cellules
    Par corbier32 dans le forum Documents
    Réponses: 2
    Dernier message: 03/05/2006, 09h48

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