Dar formato a las columnas en un GridView (fechas, moneda, etc)


No sólo es con las fechas, es con cualquier formato que quieras aplicar a una columna. Como sabemos para aplicar formato a un columna se hace lo siguiente:
   <columns> 
      <asp:BoundField DataField=“CreationDate” 
                  DataFormatString=“{0:M-dd-yyyy}” HeaderText=“CreationDate” />
   </columns>
Se usa la propiedad DataFormatString para aplicar un formato, pero porque no se aplica el formato?, revisando DataFormatString en MSDN, encontramos el porqué, y lo que pasa es que cuando la propiedad HtmlEncode esta en true el valor de campo es codificado, es decir, el valor HTML de codifica a string. Y esto es así imaginen que tenemos nuestra etiqueta “<p>”, es un HTML, pero si usamos el método Server.HTMLEncode, lo que estamos haciendo es codificar el HTML a un string, y el valor devuelto sería “&lt;p&gt;”.
Eso mismo pasa cuando el la propiedad HtmlEncode de BoundField, esta en True, el valor del campo se convierte a string antes de que se aplique el formato. Y es por eso que es necesario colocar HtmlEncode=False, para evitar la codificación y poder aplicar el formato :D.
Espero haberme dejado entender… y si no.. sólo entiendan que con HtmlEncode=False, funciona el formato de DataFormatString.
Ahora ahondemos un poco más en DataFormatString, las siguientes letras son para formatos numéricos:
C -> Muestra los valores numéricos en formato de moneda.
D -> Muestra los valores numéricos en formato decimal.
E -> Muestra los valores numéricos en formato científico (exponencial).
F -> Muestra los valores numéricos en formato fijo.
G -> Muestra los valores numéricos en formato general.
N -> Muestra los valores numéricos en formato numérico.
X -> Muestra los valores numéricos en formato hexadecimal.
Así por ejemplo si queremos mostrar un promedio de notas con dos decimales, podemos poner lo siguiente:
   DataFormatString=”{0:F2}”
Ahora que si queremos usar dar formato una fecha tiene que ser de la siguiente forma:
   DataFormatString=“{0:M-dd-yyyy}”
Para ver los diversos formatos disponibles podemos visitar el siguiente link.
Nota: En el caso de la fecha y la moneda, están también estarán determinadas por la configuración regional de nuestro sistema.
Fuente: Geeks.ms
Artículo Anterior Artículo Siguiente