none
como ordenar columna precio/moneda DataGridView?

    Pregunta

  • buenas tardes a todos, quisiera saber como puedo ordenar una columna que en su contenido tiene registros tipo moneda como por ejemplo $45.00 o $23,456.13.

    esto lo quiero hacer cuando el usuario haga click en el encabezado.

    lunes, 26 de septiembre de 2016 18:16

Respuestas

  • RHCRD,

    No veo inconveniente si el valor que contienen las celdas es de tipo numérico (decimal), pero en caso se tratase de una cadena con formato de moneda entonces el orden resultante no será el esperado. Para dar formato de moneda a una columna que contiene valores numéricos (decimal) puedes hacer lo siguiente:

    DataGridView1.Columns("Monto").DefaultCellStyle.Format = "C2"
    DataGridView1.Columns("Monto").DefaultCellStyle.FormatProvider = 
                                        CultureInfo.CreateSpecificCulture("en-US")



    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.

    martes, 27 de septiembre de 2016 4:00

Todas las respuestas

  • hola RHCRD

    generalmente ese evento viene habilitado para que ordene la columna de modo ascendente o descendiente, puede revisar más sobre el evento aquí: Datagridview ColumnHeaderMouseClick ahí podrás personalizar el evento.

    Saludos

     

    Javier

    lunes, 26 de septiembre de 2016 18:23
  • RHCRD,

    No veo inconveniente si el valor que contienen las celdas es de tipo numérico (decimal), pero en caso se tratase de una cadena con formato de moneda entonces el orden resultante no será el esperado. Para dar formato de moneda a una columna que contiene valores numéricos (decimal) puedes hacer lo siguiente:

    DataGridView1.Columns("Monto").DefaultCellStyle.Format = "C2"
    DataGridView1.Columns("Monto").DefaultCellStyle.FormatProvider = 
                                        CultureInfo.CreateSpecificCulture("en-US")



    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.

    martes, 27 de septiembre de 2016 4:00