Est-il possible de formater une colonne de date d’un datatable?

Considérez que j’ai un fichier dt datatable et qu’il a une colonne DateofOrder ,

 DateofOrder 07/01/2010 07/05/2010 07/06/2010 

Je souhaite formater ces dates dans la colonne DateOfOrder à cette

 DateofOrder 01/Jul/2010 05/Jul/2010 06/Jul/2010 

Toute suggestion..

La meilleure chose à faire serait de vous assurer que votre DataTable est typé et que cette colonne est de type DateTime. Ensuite, lorsque vous allez réellement imprimer les valeurs à l’écran, vous pouvez définir le format à cet endroit sans modifier les données sous-jacentes.

Si ce n’est pas faisable, voici une méthode d’extension que j’utilise souvent:

 public static void Convert(this DataColumn column, Func conversion) { foreach(DataRow row in column.Table.Rows) { row[column] = conversion(row[column]); } } 

Vous pourriez utiliser dans votre situation comme:

 myTable.Columns["DateOfOrder"].Convert( val => DateTime.Parse(val.ToSsortingng()).ToSsortingng("dd/MMM/yyyy")); 

Cela ne fonctionne que sur des DataTables non typés (par exemple, le type de colonne doit être un object ou éventuellement une chaîne).

.ToSsortingng (“jj / MMM / aaaa”) (en supposant que vos données sont de type DateTime)

Expliquant simplement la réponse de Saille ici:

Pour un DateTime, le format n’est pas un problème. Un DateTime est en fait le nombre de ticks à compter de minuit, le 1er janvier de l’an 1 ap. J.-C. Donc, vraiment, c’est juste un long. Le formatage ne devient un problème que lorsque vient le temps de le convertir en chaîne. Donc, vous devrez vous occuper de la mise en forme, soit lorsque vous la retirez du tableau de données et que vous êtes prêt à la sortir, ou que vous l’insérez dans la table de données sous forme de chaîne (ce que je ne recommanderais pas, par souci de souplesse. fins). Le formatage peut être effectué avec l’appel .ToSsortingng du DateTime suggéré par saille, .ToSsortingng("dd/MMM/yyyy")