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.NET Discussion :

Datagridview colonne au format date


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 5
    Par défaut Datagridview colonne au format date
    Bonjour !

    Je cherche à définir un format date pour une colonne de mon datagridview. Pour que le tri fonctionne correctement et pour que l'utilisateur ne puisse pas entrer autre chose qu'une date.

    J'importe les données à partir d'un fichier Xml que je mets dans un Dataset puis j'affiche tout ça dans un datagridview.
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DataSet1.ReadXml(Application.StartupPath & "\BddStock.xml")
    DataGridView1.DataSource = DataSet1
    DataGridView1.DataMember = "Cartons"
    DataGridView1.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
    Mon fichier xml contient des dates et des entiers.
    J'aimerais que le format des cellules de colonnes correspondent au type date pour la première et entiers pour la seconde.

    J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataSet1.Tables(0).Columns(0).DataType = TypeOf (Date)
    mais c'est faux et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dataGridView1.Columns(1).DefaultCellStyle.Format = "d"
    ne fait rien

    Pouvez vous m'aider ?

  2. #2
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    Ton problème vient du passage entre le fichier xml et le dataset, pas du datagridview.

    Ce que tu peux faire, mais je pense que tu dois pouvoir récuperer directement ta date en format "date", c'est extraire le mois, l'année et le jour pour chaque date et les recoller dans une date, ainsi pour vb ils seront bien au format date.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 5
    Par défaut
    Hum. ça me semble bien compliqué et bien long et ça ne résout pas mon problème pour l'autre colonne qui doit contenir des cellules de type entier.

  4. #4
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    A mon avis, une fois que tu récupères tes "dates" et tes "entiers" de ton fichier xml que tu mets dans ton dataset, il doivent être au format string.

    Il faudrait que tu vérifie, mais j'en mettrais ma main à couper.

    Ensuite, ben tu parcoures chaque ligne de ton dataset, et pour la valeur à chaque ligne de tes deux colonnes tu changes les valeurs, et même chose avec la date en utilisant l'opérateur adéquate genre un CDate

    Par contre c'est quoi le format de tes dates en xml ? ( / / ?)

    Regarde en pas à pas avec des points d'arrêt.

    Je te mettrais bien le code avec les méthodes, mais n'utilisant pas le dataset, car il est inutile, je ne suis pas sur des méthodes et je sais qu'elles diffèrent d'une datagridview, et n'ayant pas VS ici ...

    Voilà ce que ça donnerait pour un datagridview
    , tu peux également essayer directement d'agir sur ta datagridview.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            Dim line As DataGridViewRow
     
            For Each line In Datagrid4.Rows
     
                line.Cells(0).Value = Int(line.Cells(0).Value) 'pour tes entiers
                line.Cells(1).Value = CDate(line.Cells(1).Value) 'pour tes dates
     
            Next line
    Sinon ben tu as la logique, cherche les méthodes.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 5
    Par défaut
    Tout d'abord merci de t'intéresser à mon problème

    Le format de mes dates est jj/mm/yyyy dans le fichier xml

    tu dis que tu n'utilises pas le dataset. Je n'ai pas de méthode imposée pour importer mes données. Si tu as une meilleure idée pour charger et modifier un xml dans un datagridview je suis preneur

    J'ai recherché un peu du coté d'une datatable qui permettrait de définir le type des colonnes mais je n'arrive pas à l'utiliser

  6. #6
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    Tu peux rester avec le dataset, c'est juste que je n'aime pas les utiliser.

    Ton seul souci, c'est que en sorti du xml après extraction tu dois avoir des string, donc tu n'as qu'à les convertir, avec le Int et le CDate, soit dans la dataset, mais je ne suis pas sur au niveau méthode (si cela est possible), soit dans la datagridview.

    Pour la date fais gaffe, il faudra tester, car je ne suis pas sur du format pour la conversion, soit mm/dd/aaaa, soit dd/mm/aaaa.

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

Discussions similaires

  1. regroupement en une colonne pour format date ?
    Par Invité dans le forum Excel
    Réponses: 6
    Dernier message: 19/05/2012, 12h40
  2. [WD14] Format date dans colonne table
    Par miripesage dans le forum WinDev
    Réponses: 38
    Dernier message: 20/04/2011, 14h19
  3. Réponses: 6
    Dernier message: 20/10/2010, 01h39
  4. [XL-2003] Modifier le le format Date sur toute les lignes d'une colonne
    Par Djohn dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/08/2010, 14h00
  5. Trier une colonne de type date dans un datagridview
    Par eviolleau dans le forum VB.NET
    Réponses: 12
    Dernier message: 26/03/2010, 16h56

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