Come visualizzare solo la data in GridView quando si estraggono dati da un DB? C #

Sto tirando i dati da un database di accesso per mostrare in un controllo GridView su un progetto ASP.NET. Funziona bene ma voglio vedere se riesco a formattare i dati che vengono estratti. Attualmente qualsiasi valuta viene troncata da xx.xx a solo importi in dollari. Anche le date stanno visualizzando mm / gg / aaaa hh / mm / ss AM / PM

Ho provato a modificare il database stesso con i valori corretti (ho impostato il campo valuta su “Valuta” e il campo data su “Data breve”, ma quando tiro quella data continua a mostrarli non formattati.

EDIT: Siamo spiacenti, ha dovuto prendere il codice verso il basso

Qualche idea? Grazie

nella tua vista griglia aggiungi la proprietà chiamata DataFormatString

Esempi DataFormatString:


 {0: dd MMMM yyyy} - dà il 24 febbraio 2006
 {0: MMM dd} - dà il 24 febbraio (sostituisce MMM con MMMM per il nome completo del mese 
                          invece di abbreviazione) 
 {0: gg / MM / aa} - consegna il 24/02/06 
 {0: gg / MM / aaaa} - consegna il 24/02/2006

Codice di esempio

  

Proprietà MSDN BoundField.DataFormatString

Hai solo bisogno di impostare il dataformatstring con il modo in cui vuoi che venga popolato.

Come esemplificato sulla pagina MSDN:

I soldi:

  

Con {0: c}, posizionando un numero dopo il valore c (come {0: c2}) si otterranno tante cifre decimali.

Data:

  

Una soluzione potrebbe essere:

      < %# Eval("Name") %>    < %# Convert.ToDateTime(Eval("JoinDate")).ToShortDateString() %> OR < %# Convert.ToDateTime(Eval("JoinDate")).ToString("d") %>     

Devi creare un BoundField, impostare le sue proprietà includendo la proprietà dataformatstring che puoi usare per impostare il formato del campo visualizzato in GridView e aggiungerlo al controllo GridView.

qui sotto un po ‘di codice

  public GridView Cr_GridView(string[] ColNames,string[] ColLable, string[] ColFormat) { GridView GV = new GridView(); int x = ColNames.GetUpperBound(0); for (int i = 0; i < x; i++) { BoundField GvField = new BoundField(); GvField.DataField = ColNames[i]; GvField.HeaderText = ColLable[i]; GvField.DataFormatString = ColFormat[i];// for example "{0:dd/MM/yyyy}" for a date field GV.Columns.Add(GvField); } return GV; }