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 :

Probleme de cast pour un newbie en PObjet.


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Par défaut Probleme de cast pour un newbie en PObjet.
    Bonjour,


    J'ai un gridview connecté à un objectdatasource qui récupère des données et qui les affiche (dont la date d'embauche d'un salarié)
    Je veux calculer le nb de jour que le salarié a passé dans le boite.


    Rien de bien complexe à première vue, sauf que je galère avec les types de données.


    J'ai dans mon HTML ça :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       1. <ItemTemplate>  <%# DisplayDaysOnJob(Eval("date_embauche" ))%>


    Et ça c'est ma fonction en code-behind



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
       1. protected string DisplayDaysOnJob(DateTime Date)
       2.         {
       3.            
       4.             TimeSpan ts = DateTime.Now.Subtract(Date);
       5.             return ts.Days.ToString("#,##0" );                     
       6.         }

    Le champ date_embauche est un champ de type DateTime ( c'est ça qui a compliqué l'affaire j'ai l'impression)


    Et comme erreur c'est :
    La méthode surchargée correspondant le mieux à '....DisplayDaysOnJob(System.DateTime)' possède des arguments non valides

  2. #2
    Membre expérimenté
    Inscrit en
    Août 2007
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 139
    Par défaut
    Bonjour,

    As tu pensé à regarder du côté du type de données dans ta base ou à vérifier que tu compares bien le même format de date (longDate ou shortdate) ?

    A bientôt,

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Par défaut
    Dans la bd sql server, le champ est de type DateTime...

  4. #4
    Membre expérimenté
    Inscrit en
    Août 2007
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 139
    Par défaut
    Essaie ts.Days.ToString()

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Par défaut
    Citation Envoyé par Laurent CUENET Voir le message
    Essaie ts.Days.ToString()
    C'est ce que j'ai mis.....

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Essaie avec un cast :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <ItemTemplate>  <%# DisplayDaysOnJob(CType(Eval("date_embauche" ), DateTime))%>

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Essaie avec un cast :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <ItemTemplate>  <%# DisplayDaysOnJob(CType(Eval("date_embauche" ), DateTime))%>
    Ca me met ça :
    CS0103: Le nom 'CType' n'existe pas dans le contexte actuel

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par slimannnnn Voir le message
    Ca me met ça :
    CS0103: Le nom 'CType' n'existe pas dans le contexte actuel
    Ah ok, tu es en C#... tu as posté dans le forum VB.NET
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <ItemTemplate>  <%# DisplayDaysOnJob((DateTime)Eval("date_embauche" ))%>

  9. #9
    Membre expérimenté
    Inscrit en
    Août 2007
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 139
    Par défaut
    Citation Envoyé par slimannnnn Voir le message
    Bonjour,


    J'ai un gridview connecté à un objectdatasource qui récupère des données et qui les affiche (dont la date d'embauche d'un salarié)
    Je veux calculer le nb de jour que le salarié a passé dans le boite.


    Rien de bien complexe à première vue, sauf que je galère avec les types de données.


    J'ai dans mon HTML ça :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       1. <ItemTemplate>  <%# DisplayDaysOnJob(Eval("date_embauche" ))%>


    Et ça c'est ma fonction en code-behind



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
       1. protected string DisplayDaysOnJob(DateTime Date)
       2.         {
       3.            
       4.             TimeSpan ts = DateTime.Now.Subtract(Date);
       5.             return ts.Days.ToString("#,##0" );                    
       6.         }

    Le champ date_embauche est un champ de type DateTime ( c'est ça qui a compliqué l'affaire j'ai l'impression)


    Et comme erreur c'est :
    Bonjour,

    Excuse moi mais tu as écrit ts.Days.ToString("#,##0" ) et non ts.Days.ToString()
    charge now dans dt1
    ta date dans dt2
    dt1.Subtract(dt2).Days Si tu veux tu peux utiliser totaldays pour obtenir la virgule.

    En espérant t'aider

    A bientôt

Discussions similaires

  1. probleme de cast pour afficher une image
    Par scoobiflo dans le forum Graphisme
    Réponses: 9
    Dernier message: 30/11/2008, 22h52
  2. probleme de cast
    Par gaut dans le forum C++
    Réponses: 9
    Dernier message: 06/08/2004, 18h43
  3. conseil pour un newbie...
    Par QHorse dans le forum Décisions SGBD
    Réponses: 9
    Dernier message: 23/06/2004, 16h55
  4. Réponses: 2
    Dernier message: 01/06/2004, 16h12
  5. Le T2 pour les Newbies
    Par thanathz dans le forum Développement
    Réponses: 10
    Dernier message: 28/08/2003, 09h43

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