none
Formato de numeros en gridview en el codigo asp.net c# RRS feed

  • Pregunta

  • Hola estoy llenando un gridviewd con la propiedad de autogeneratecolumns=true ,como puedo hacer para que en la grilla se muestre los montos de esta manera desde el codebehind:

    19,363.00

    Actualmente me sale asi:

    sábado, 17 de septiembre de 2016 18:04

Respuestas

  • Si quieres mantener el "AutoGenerateColumns", y en consecuencia no puedes aplicar formatos individuales a las columnas en el diseño del grid, entonces el formato tendrás que aplicarlo en el objeto que tengas por detrás conectado al DataSource del grid. Cambia el Modelo que tienes conectado al Grid por una clase en la que esa columna sea de tipo String (en lugar de ser numérica), y al rellenar ese Modelo de presentación desde el Modelo de datos, construye ese string desde el dato numérico aplicándole en ese momento el formato que desees.
    domingo, 18 de septiembre de 2016 9:24
  • hola

    la unica forma que se me ocurre es por medio del evento RowDataBound

    en este evento cuando ingrese el valor de la columna le aplciar formato

    Formatting gridview using rowdatabound event - Part 8

    analiza el evento y veras que puedes aplicar el formato como ser

    e.Row.Cells[0].Text = Convert.ToDecimal(e.Row.Cells[0].Text).ToString("N2");

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 19 de septiembre de 2016 11:19

Todas las respuestas

  • Si quieres mantener el "AutoGenerateColumns", y en consecuencia no puedes aplicar formatos individuales a las columnas en el diseño del grid, entonces el formato tendrás que aplicarlo en el objeto que tengas por detrás conectado al DataSource del grid. Cambia el Modelo que tienes conectado al Grid por una clase en la que esa columna sea de tipo String (en lugar de ser numérica), y al rellenar ese Modelo de presentación desde el Modelo de datos, construye ese string desde el dato numérico aplicándole en ese momento el formato que desees.
    domingo, 18 de septiembre de 2016 9:24
  • hola

    la unica forma que se me ocurre es por medio del evento RowDataBound

    en este evento cuando ingrese el valor de la columna le aplciar formato

    Formatting gridview using rowdatabound event - Part 8

    analiza el evento y veras que puedes aplicar el formato como ser

    e.Row.Cells[0].Text = Convert.ToDecimal(e.Row.Cells[0].Text).ToString("N2");

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 19 de septiembre de 2016 11:19