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 :

Format d une colonne DataGridView en durée ?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut Format d une colonne DataGridView en durée ?
    Salut,

    ma question parrait toute bete, mais ca fait un moment que je cherche

    J ai une requete qui me rempli un Datagridview. Le probleme est qu'une de ces colonne est une duree. Dans la base de donnée cette durée est exprimée en minutes. Je voudrais pouvoir reformater cette colonne en durée plus lisible. Est ce possible ? et si vi, comment svp ?

    style :

    au lieu de 240 avoir 04:00:00. Un truc comme ca quoi.

    Merci

    Slumpy

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    plusieurs méthodes, soit ta requete qui contient la durée, tu modifie pour avoir une date (avec une fonction SQL as datetime par exemple qui divise par 60etc..., si ca n'existe pas deja)

    soit tu te branches sur l'évènement CellFormatting du datagridview
    qui te permet de modifier e.value (vérifier que c'est la bonne colonne sinon sortir exit sub)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim temps As New DateTime
    temps.AddSeconds(nb)
    e.value = temps.tostring
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut
    Salut sperot,

    Merci pour l evenement CellFormatting, c visiblement ce que je cherchais. J arrive a manipuler les valeur de la colonne en question.

    Merci encore .

  4. #4
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut
    Re,

    voila ce qu il me fallait faire pour obtenir ma durée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub DataGridView2_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView2.CellFormatting
            Dim timestep As System.TimeSpan
            If e.ColumnIndex = 0 Or e.ColumnIndex = 5 Then
                timestep = New System.TimeSpan(0, 0, e.Value, 0)
                e.Value = timestep.ToString
            End If
        End Sub
    encore merci Sperot

    Slumpy

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

Discussions similaires

  1. Format d'une colonne Rave Report
    Par jackvpt dans le forum Rave
    Réponses: 2
    Dernier message: 17/12/2010, 19h30
  2. [Java - JTABLE] Changer le format d'une colonne
    Par aurelius_pr dans le forum Composants
    Réponses: 2
    Dernier message: 21/06/2010, 10h09
  3. Changement du format d'une colonne "date" dans un gridview
    Par sprvnxlgls dans le forum ASP.NET
    Réponses: 1
    Dernier message: 28/12/2009, 11h11
  4. Modifier le style d'une colonne DATAGRIDVIEW
    Par auriol dans le forum Windows Forms
    Réponses: 4
    Dernier message: 01/02/2009, 00h26
  5. Réponses: 2
    Dernier message: 31/08/2006, 09h57

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