2009-03-22 5 views
0

Angenommen, wir binden GridView an ein ObjectDataSource-Steuerelement und führen dann eine Abfrage durch.Welches Steuerelement führt die Typenkonvertierung durch: GridView oder Datenquellensteuerung?

A) Ich realisiere, dass angezeigte GridView-Felder vom Typ String sind, aber weiß GridView auch, welchen Typ die zugrunde liegenden Datenquellwerte haben (für eine bestimmte GridView-Spalte)?

* Wenn also die Datenquelle GridView mit einer Menge Ganzzahlen füllen wird, müssen diese Ganzzahlen in Strings konvertiert werden, bevor sie in GridView angezeigt werden können. Welches Steuerelement führt die Konvertierung aus, GridView oder ObjectDataSource/SqlDataSource-Steuerelement?

B) Unabhängig davon, ob GridView oder ObjectDataSource eine Konvertierung durchführt, wie wird diese Konvertierung durchgeführt? Einfach durch Aufruf von ToString() für ein Objekt?

thanx

Antwort

1

Die Formatierung (welches die Umsetzung enthält) durch den Grid getan. Sie können dies anhand der datenspaltenspezifischen Eigenschaft DataFormatString erkennen. Dies verwendet die allgemeine .NET-Composite-Formatierung, siehe beispielsweise string.Format() oder Console.Writeline(). Standardmäßig wird ToString() verwendet. Aber DataFormatString akzeptiert dd-mm-yyyy für eine DateTime-Spalte.

1

Heres den Code aus dem gebundenen Spaltensteuer (via Reflektor):

if (this.formatting.Length == 0) 
{ 
    return dataValue.ToString(); 
} 
return string.Format(CultureInfo.CurrentCulture, this.formatting, new object[] { dataValue }); 
  • this.formatting: Das Format string, ist, was erklärt Henk hat.
  • datavalue: eine Objektvariable, die der Wert der gebundenen Eigenschaft ist
Verwandte Themen