Ich nehme an, dass Sie das Raster mit den AutoGenerateColumns verwenden, wenn dies der Fall ist, bin ich nicht sicher, die richtige Methode, wenn es einen gibt, aber hier ist eine schnelle und schmutzige Möglichkeit, den Text zu ändern Ausgabe.
protected void grdTest_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.DataItem != null)
{
e.Row.Cells[1].Text = DateTime.Parse(e.Row.Cells[1].Text).ToShortDateString();
}
}
Dieser Code Sie ein auf Zeilendaten gebunden Ereignis erstellen und dann den Text analysieren, und formatieren Sie es, wie Sie wollen. Dies funktioniert jedoch nur, wenn Sie wissen, dass das Datum immer in einer bestimmten Spalte sein wird. Eine andere Option, wenn Sie dynamische Spalten aber mehr Kontrolle haben möchten, wäre, AutoGenerateColumns auf false zu setzen und die Spalten der Rasteransicht dynamisch mit den gewünschten Spalten zu füllen, bevor Sie sie binden. Auf diese Weise können Sie die Datenformat-Zeichenfolge verwenden. Das ist ein bisschen mehr Arbeit, aber Sie können noch Ihre Spalten steuern:
BoundField Col1 = new BoundField();
Col1.DataField = "StringFieldName";
BoundField Col2 = new BoundField();
Col2.DataField = "DateFieldName";
Col2.DataFormatString = "{0:d}";
grdTest.Columns.Add(Col1);
grdTest.Columns.Add(Col2);
Haben Sie ein Beispiel dafür? – Steven