2013-04-30 4 views
1

J'essaie de remplir un gridview avec, entre autres choses, un champ de date utilisant une requête LINQ qui extrait des données d'une base de données Oracle. Mon problème est le format de date qui finit par afficher dans le gridview est: MM/DD/YYYY HH:MM:SS. Je veux seulement montrer MM/DD/YYYY. Quel changement dois-je apporter à ma requête pour y parvenir?Format de date Linq

Dim InfoDetails = 
    From Lines In dtMain _ 
    Where Lines.Field(Of String)("ULTIMATE_PARENT_NAME") = lstUPs.SelectedItem.ToString _ 
     And Lines.Field(Of String)("CHANGE_TYPE") = Chng_Type.ToString _  
     And Not Lines.Field(Of String)("WARNING_TYPE").StartsWith("WARNING: DATA L") _ 
    Group By Change_Title = Lines.Field(Of String)("TITLE"), _ 
      Change_Details = Lines.Field(Of String)("DESCRIPTION"), _ 
      Effective_Date = Lines.Field(Of Date)("EFFECTIVE_DATE"), _ 
      Change_Type = Lines.Field(Of String)("CHANGE_TYPE") _ 
    Into Fieldname = Group, Count() 

Répondre

3

Vous pouvez spécifier le format dans la grille (recommandé) ou modifier le type de sortie à une chaîne:

Effective_Date = Lines.Field(Of Date)("EFFECTIVE_DATE").ToString("MM/dd/yyyy"), _ 

je serais fortement recommande de régler le format de la grille, mais depuis vous n'avez rien spécifié à propos de l'interface utilisateur Je ne peux pas donner de conseil spécifique.

Certains inconvénients de la conversion en chaîne sont:

  1. tri serait inexact avec le format que vous avez choisi
  2. Vous ne pouvez pas réutiliser pour d'autres ce UIs qui voudrait un format différent.
+1

+1 Stockez toujours les données de la bonne façon et effectuez le formatage à la sortie pour l'affichage - toute autre chose reviendra et vous mordre dans le cul à un certain moment dans le futur – Basic

+0

+1 pour 'Vous pouvez soit spécifiez le format dans la grille (recommandé) '. – Neolisk

+0

Vous l'avez ... comme vous le recommandiez, je définis le format dans le gridview. Merci pour les réponses! – StephenT