16. august 2006 - 18:15Der er
5 kommentarer og 1 løsning
Ændre format for en streng i et boundfield i et gridview
Jeg har et gridview hvor en boundfield colonne indeholder en streng ex. 0101781901 som jeg gerne vil have repræsenteret som ved en bindestreg som her: 010178-1901.
DataFormatString converterer numeriske værdier til en streng repræsentation, men hvordan med alfanumeriske værdier??
Kan man override ToString() metoden for en Property, er det måske en løsning, men det er bare et guess..
uanset hvad jeg forsøger får jeg den rå string uden formatering, da det kun er numerisk data der kan overrides med dataformatfield. Men en anden tanke jeg har, er at ændre cellens indhold, runtime, men aner ikke hvilken metode jeg override.
Du kan bare abbonnere på RowDataBound eventet på selve grid'et - det er ikke et override du skal lave... Der kan du lave al den formatering du ønsker
Ellers kan du gøre det med en template istedet: <asp:TemplateField HeaderText="Desc" ItemStyle-HorizontalAlign="center"> <ItemTemplate> <%# Eval("Text").ToString().Substring(0, 6) + "-" + Eval("Text").ToString().Substring(7, 2)%> </ItemTemplate> </asp:TemplateField>
Ellers kan du lave en særlig property på din klasse der returnerer den formaterede string, hvis det en mere generel ting.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.