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

ASP.NET Discussion :

Application tri sur données de type date dans un gridview


Sujet :

ASP.NET

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    526
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 526
    Points : 224
    Points
    224
    Par défaut Application tri sur données de type date dans un gridview
    Bonjour,

    J'ai dans mon gridview une colonne de type Date (sql server 2008) sous la forme JJ/MM/AAAA.
    J'ai remarqué que la fonction de tri intégré dans le composant gridview ne marche pas sur cette colonne : J'ai juste une symétrie des éléments par rapport à celui-ci du milieu.

    Est-ce que quelqu'un sait pourquoi ?

    Merci.

  2. #2
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Points : 1 119
    Points
    1 119
    Par défaut
    tu veux dire que ca trie comme un string, ou de manière purement numérique en fait?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    01/02/2010
    16/03/2009
    15/04/2009
    devient

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    01/02/2010
    15/04/2009
    16/03/2009
    et pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    16/03/2009
    15/04/2009
    01/02/2010

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    526
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 526
    Points : 224
    Points
    224
    Par défaut
    En fait, si dans ma base de données, mes données sont dans cette ordre (donc apparait au départ dans mon tableau) :

    10/01/2010
    12/04/2010
    14/12/2009
    12/01/2008
    06/06/2009
    14/04/2008
    25/02/2007

    J'obtiens en cliquant une première fois sur le titre de la colonne :

    06/06/2009
    10/01/2010
    12/01/2008
    12/04/2010
    14/04/2008
    14/12/2009
    25/02/2007

    En fait, il tri d'abord sur les jours, ensuite sur les mois et enfin sur les années ?

    (Remarque : Les dates dans le tableau apparaissent bien sous la forme jj/mm/aaaa) alors que dans la base (aaaa/mm/jj)).

    D'où peut venir le problème ?

  4. #4
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Points : 1 119
    Points
    1 119
    Par défaut
    oui c'est ce que je disais il trie donc comme un string.

    vérifie toujours que tu ne peux pas spécifier un type de données pour ta colonne mais ca m'étonnerait.

    Il me semble que ce tri intégré ne trie que comme des string; si tu veux un tri de dates, il va falloir implémenter quelque chose toi même.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    526
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 526
    Points : 224
    Points
    224
    Par défaut
    Non, en fait il y a juste DataFormatString="{0:MM-dd-yyyy}" HtmlEncode="false" mais cela sert à formater, donc ça ne fonctionne pas.

    Sinon, je ne pense pas.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    526
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 526
    Points : 224
    Points
    224
    Par défaut
    Est-ce que quelqu'un aurait une bonne source qui explique comment trier un champ date de base sql server afin que je puisse faire un tri spécifique pour cette variable, car on dirait que le tri intégré du gridview ne permet pas de trier les champs date?

    Merci.

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    526
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 526
    Points : 224
    Points
    224
    Par défaut
    Pour ceux que ça intéresse, j'ai contourner le problème en rajoutant dans ma requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (CAST([Date] AS INT)) AS DateInt
    et en effectuant le tri sur la colonne de date en triant sur DateInt.

    Je ne sais pas si c'est la meilleur solution mais cela marche.

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

Discussions similaires

  1. validation de données de type date et booléen dans msaccess
    Par melancolie dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 28/04/2011, 17h24
  2. Réponses: 2
    Dernier message: 30/11/2008, 21h10
  3. Ajouter un champs de type " Date " dans ma base ac
    Par hysteresis dans le forum Langage SQL
    Réponses: 16
    Dernier message: 10/10/2005, 16h10
  4. Critères sur champ de type date
    Par blasco dans le forum Access
    Réponses: 2
    Dernier message: 29/10/2004, 09h48
  5. insertion d'un type date dans une table access
    Par monstour dans le forum ASP
    Réponses: 7
    Dernier message: 18/06/2004, 16h57

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