problème avec une colonne BoundField et son attribut DataFormatField dans asp.net 2 RTM
Il y a quelques temps, j'ai voulu mettre une date dans mon gridview et j'ai voulu la formater correctement, en gardant juste la date sans les heures.
J'ai donc essayé comme ca,
asp:BoundField DataField="DateOfBirth" DataFormatString="{0:MM/dd/yyyy}" />
et aussi avec plusieurs variantes, mais rien n'y faisait... mon DateTime s'affichait en entier avec la date et l'heure ! 
Raj Kaimal a eu le meme problème que moi et a aussi la solution : BoundField DataFormatString attribute not being applied.
La raison est que le champ est htmlencodé avant le formatage. Dans le cas d'une date le htmlencodage transforme mon datetime en string, et ensuite format ce string au lieu du datetime
Moi non plus je ne comprend pas vraiment pourquoi htmlencoder AVANT d'appliquer le formatage, ca risque de poser quelques problèmes ...
la solution consiste donc à faire :
asp:BoundField DataField="DateOfBirth" DataFormatString="{0:MM/dd/yyyy}" HtmlEncode="false"/>
C'est une astuce qui risque de servir dans bien des cas :)