Comment modifier le format d'un champ datetime en code behind. Mon datagrid genere ces colonnes en automatiques, donc je ne sais pas comment modifier la propriété DataFormatString.
Version imprimable
Comment modifier le format d'un champ datetime en code behind. Mon datagrid genere ces colonnes en automatiques, donc je ne sais pas comment modifier la propriété DataFormatString.
Tu devras jouer sur l'événement ItemCreated ou ItemBinding pour accéder à la ligne en cours. Dès lors, tu peux modifier ce que tu veux dedans.
J'essaie ça :
mais j'ai une erreur de cast, :Code:CType(e.Item.Cells.Item(1).Text, DateTime).ToShortDateString()
C'est pourtant bien un format date :?Code:Cast de la chaîne "déc 25 2005 12:00AM" en type 'Date' non valide.
Tu es sur la bonne voie.
Restes plus qu'à corriger ce problème de casting. Je pense que ton problème vient du fait que la culture utilisée par ta base de données n'est pas la même que celle utilisée par asp.NET. AM en France on connait pas trop par exemple. Ca vient certainement de là.
Et Joyeux Noel hein (ben quoi c'est ta date que tu essayes d'afficher :p)
J'ai toujours mon problème de casting.
Lors de ma requete sql, je cast ma date en varchar mais ensuite je n'arrive pas à la recasté en date pour pouvoir la formaté.
Personne n'a une astuce pour caster une chaine de caractere en date parce que là .... :(
Tu dois pouvoir formater ta date au niveau de sql afin d'éviter d'avoir des 12PM et ce genre de choses.
le 12PM c'est parce que lorsque je fais ma requete sql je cast en varchar, si je cast en datetime l'affichage fonctionne tres bien mais j'ai ma fonction de recherche qui ne fonctionne plus.
Pour la recherche j'utilise la fonction RowFilter. Mais j'ai ce message d'erreurdonc c'est pour cela que je cast lors de ma requete.Code:Impossible d'effectuer une opération 'Like' sur System.DateTime et System.String
Personne qui sait caster la chaine de caracteres:
en datetime ???? :cry:Code:déc 25 2005 12:00AM
Moi, je feinte :
ça t'irait ?Code:
1
2
3
4 Dim s As String = "déc 25 2005 12:00AM" s = s.Replace("é", "e") Dim d As DateTime = DateTime.Parse(s)
Sinon peut être faut il jouer sur la culture en cours ?
oué oué ca me va, mais esqu'il existe d'autre caractère comme ça à remplacer ??
Tiens ce qui est bizarre c'est que AM c'est pour les anglais non? Et en anglais y a pas d'accent lol