Ordenar Columna en un Datagrid

31/05/2005 - 10:23 por Ciru | Informe spam
Hola a todos,

Os cuento mi problema, tengo un dataset sacado de una consulta a SQL
Server,tengo que mostrar una de las columnas llamada Precio pero que tengo
que mostrar con los puntos y las comas ,con lo cual esa columna la tengo que
poner como System.String, el problema lo tengo cuando tengo que ordenar esa
columna.

Tengo un Dataview el cual ordena, pero al ordenar un string encuentra como
mayor 5.000 que 30.000.

La solucion que he hecho ha sido crear dos dataviews uno con la columna que
enseño al cliente - con la columna como string - y otro dataview con la
columna como decimal que es la que ordeno.

Asi la verdad es que me funciona bien, pero al utilizar query's con muchas
filas tarda un poco.

No habria una manera mas sencilla de ordenar un System.String que tuviera
encuenta donde estan colocadas las cifras.

Gracias a todos de Antemano.

Preguntas similare

Leer las respuestas

#1 Fabian Imaz
31/05/2005 - 18:30 | Informe spam
Hola,

Porque no te creas una columna mas del tipo decimal ,que no se la mostras al
usuario y la utilizas para ordenar, y usas esa columna para ordenar
los datos. Si queres que una columan tenga un valor especifco a partir de
cualquier otra o otras columnas podes utilizar DataColum.Expression
Te paso un link para que veas.
http://msdn.microsoft.com/library/d...nTopic.asp

Saludos,
Fabián Imaz
Jefe de Proyectos
(Messenger)
www.d2bnetwork.com
d2B Network Uruguay
Canelones 2047
Tel.: +598 2 4085093
Montevideo - Uruguay

"Ciru" escribió en el mensaje
news:
Hola a todos,

Os cuento mi problema, tengo un dataset sacado de una consulta a SQL
Server,tengo que mostrar una de las columnas llamada Precio pero que tengo
que mostrar con los puntos y las comas ,con lo cual esa columna la tengo
que
poner como System.String, el problema lo tengo cuando tengo que ordenar
esa
columna.

Tengo un Dataview el cual ordena, pero al ordenar un string encuentra como
mayor 5.000 que 30.000.

La solucion que he hecho ha sido crear dos dataviews uno con la columna
que
enseño al cliente - con la columna como string - y otro dataview con la
columna como decimal que es la que ordeno.

Asi la verdad es que me funciona bien, pero al utilizar query's con muchas
filas tarda un poco.

No habria una manera mas sencilla de ordenar un System.String que tuviera
encuenta donde estan colocadas las cifras.

Gracias a todos de Antemano.
Respuesta Responder a este mensaje
#2 Tristan
31/05/2005 - 22:10 | Informe spam
En realidad no necesitas que tu columna sea de tipo string, solo por que
necesites darle formato.

Supongo que estás utilizando un datagrid para mostrar tus datos. El datagrid
permIte asociar un objeto tableStyle, para dar formato a sus columnas. Todo
este proceso lo puedes hacer en tiempo de diseño (y en ejecución, claro).
Los objetos columna de este tablestyle tienen una propiedad Format para dar
el formato necesario. Podrás especificar comas, puntos, posiciones
decimales, etc... Mientras tanto, tus datos originales seguirán siendo
numéricos.

Juan Carlos Badiola
MVP - C#
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida