ordenar datagrid cargado de un datareader

28/04/2004 - 16:21 por sxbhab | Informe spam
Hola a todos.
Tengo ya medio hecha una aplicación con bastantes datagrid que se cargan a
partir de datareader, por ser solo de consulta. Las cabeceras de las
columnas las he puesto con label y el datagrid está dentro de una capa
para sacar barra de scroll, no puedo usar los campos de cabecera del
datagrid porque al bajar la barra de scroll las cabeceras también suben
perdiendo la referencia de los campos.
Como siempre el usuario se las ha ingeniado para hacer la puñeta:
"Quiero que se pueda ordenar pulsando en los titulos de la columnas, que
yo lo he visto en otros sitios..."
He pensado sustituir las etiquetas de titulo por botones y que al
pulsarlos hagan lo mismo que se hicera en los de cabecera del datagrid.
- ¿Es cierto que el datagrid no tiene funcionalidad para ordenar, sino que
lo que se ordena es el dataview del que se carga? En ese caso ¿Puedo
cargar un dataview a partir del datareader?
- Como ahora si se va a tratar con los datos devueltos (solo ordenarlos),
¿Debería usar un datatable?.
- ¿Hay alguna forma más sencilla de hacer lo que el susodicho individuo me
pide?
Muchisimas gracias.
 

Leer las respuestas

#1 Manuel Etcheto
28/04/2004 - 18:50 | Informe spam
Hola Gonzalo

Sí puedes hacerlo de varias maneras, con datareader solo,
con datareader-datatable, con datareader-datatable-
dataview, con dataadapter-datatable-dataview, con
dataadapter-dataset-datatable-dataview, etc...

Sin conocer tu caso, te diría que en principio lo ideal es
hacer un dataview y ponerlo en caché, luego con javascript
le cargas el valor de un hidden con el campo a ordenar y
sentido "asc" o "desc" según el campo que cliqueó y llamas
al dataview del caché para ordenarlo en consecuencia
Dale al objeto una duración en caché de acuerdo a tus
características y verifica si no existe lo volvés a crear.
Así no estás yendo a la bd cada vez y el cambio de orden
va a ser instantáneo.

Espero te sirva y cualquier cosa, el foro adecuado es
microsoft.public.es.dotnet.aspnet

Suerte
Manuel


Hola a todos.
Tengo ya medio hecha una aplicación con bastantes


datagrid que se cargan a
partir de datareader, por ser solo de consulta. Las


cabeceras de las
columnas las he puesto con label y el datagrid está


dentro de una capa
para sacar barra de scroll, no puedo usar los campos de


cabecera del
datagrid porque al bajar la barra de scroll las cabeceras


también suben
perdiendo la referencia de los campos.
Como siempre el usuario se las ha ingeniado para hacer la


puñeta:
"Quiero que se pueda ordenar pulsando en los titulos de


la columnas, que
yo lo he visto en otros sitios..."
He pensado sustituir las etiquetas de titulo por botones


y que al
pulsarlos hagan lo mismo que se hicera en los de cabecera


del datagrid.
- ¿Es cierto que el datagrid no tiene funcionalidad para


ordenar, sino que
lo que se ordena es el dataview del que se carga? En ese


caso ¿Puedo
cargar un dataview a partir del datareader?
- Como ahora si se va a tratar con los datos devueltos


(solo ordenarlos),
¿Debería usar un datatable?.
- ¿Hay alguna forma más sencilla de hacer lo que el


susodicho individuo me
pide?
Muchisimas gracias.

Preguntas similares