UweMedlem sedan nov. 2003181 inlägg
Jag har en datagrid där som jag fyller från codebehind. Där skulle jag också vilja göra en DataFormatString på de som är datumkolumner. Typ så här:
DataGrid.DataSource= dataview;
DataGrid1.Columns[3].DataFormatString = "{0:d}";
DataGrid1.DataBind();
Men raden med DataFormatString är inte rätt, någon som vet hur man ska skriva?
m_soderlundMedlem sedan sep. 20024 733 inlägg
Vad får du för felmeddelande?
erkaMedlem sedan dec. 19994 597 inlägg
Vet inte hur man tilldelar det direkt men i efterhan kan du ju alltid
String.Format("{0:d}",DataGrid1.Columns[3].ToString());
UweMedlem sedan nov. 2003181 inlägg
erka - jag har inte kunna testa din lösning för jag får ett ganska märkligt felmeddelande. Av någon anledning innehåller min DataGrid inte några kolumer:
DataView dataview = new DataView(datatable);
int dtsize = dataview.Table.Columns.Count; //dtsize blir här 5
DataGrid.DataSource= dataview;
int dgsize = DataGrid.Columns.Count; //dgsize blir 0
När jag sedan indexerar den kolumn som ska formateras får jag ju då en "index out of range".
/Uwe
erkaMedlem sedan dec. 19994 597 inlägg
Jag menade String.Format("{0:d}",DetDuVillOmvandla);
såg nu att du skrev DataGrid1.Columns[3], tror inte du kan omvandla så utan jag menade mer på varje sträng :)
UweMedlem sedan nov. 2003181 inlägg
Men är det inte kostigt att jag inte kan indexera kolumnerna i DataGriden.
Tydligen ska det gå att använda sig av BoundColumn på detta sett:
((BoundColumn) DataGrid.Columns[3]).DataFormatString = "{0:d}";
Men det förutsätter ju att man kan komma åt kolumnerna via index.
renholmMedlem sedan apr. 20012 048 inlägg
Kan du inte ange det i html-koden? Ungefär så här:
<asp:BoundColumn ... DataFormatString="{0:d}" />
UweMedlem sedan nov. 2003181 inlägg
renholm - Det hade varit den enklaste lösningen, men i mitt fall fyller jag datagridden dynamiskt och vet där med inte hur många kolumner jag har, eller vilka av dem som ska formateras i förväg.