Obtener 200.000 o 1 Millon de Registros y Cargarlos en un DataGridView

07/05/2006 - 16:41 por Daniel López | Informe spam
Estoy intentado realizar un Select contra una tabla SQL que me devuelve
entre 200.000 y 1 Millón de registros, y dichos registros deben ser
mostrados en un DataGridView o similar.

Para realizar esto he probado ha utilizar el objeto SQLDataReader, la
ejecución asincronica del comando y el uso de hilos de trabajo
independientes, sin embargo al utilizar estos medios, con el hilo
independiente, aun que no congela la aplicación y funciona, el
DataGridView no se va actualizando a medida que se le cargan los nuevos
datos (Como sucede en un gran Select dentro del SQL Managment Studio).
Los datos son cargados a un DataSet que ya esta vinculando con el
DataGridView.

¿ Hay alguna posibilidad de realizar esto, que se muestre gradualmente
los resultados, no utilizando paginación en el sentido de usar botones
para continuar si no que cargue poco a poco los resultados y que
mientras lo hace el usuario pueda ir visualizando lo ya cargado ?

Gracias de antemano.

P.D.: Todo esto lo estoy realizando con VC# 2005 Express y SQL Server
2005 Express/SQL 2000 Standard.
 

Leer las respuestas

#1 Alberto Poblacion
07/05/2006 - 17:16 | Informe spam
"Daniel López" wrote in message
news:%
¿ Hay alguna posibilidad de realizar esto, que se muestre gradualmente los
resultados, no utilizando paginación en el sentido de usar botones para
continuar si no que cargue poco a poco los resultados y que mientras lo
hace el usuario pueda ir visualizando lo ya cargado ?



Igual voy a decir una tontería, pero ¿has probado a poner un
Application.DoEvents() en medio del bucle que va leyendo los registros del
datareader y pasándolos al grid? De hecho, con este sistema, ni siquiera
sería necesario utilizar threads.

Preguntas similares