none
COMO EVITAR QUE UN DATAGRIDVIEW SE CUELGUE DEBIDO A UNA GRAN CANTIDAD DE FILAS RRS feed

  • Pregunta

  • Hola.

    Trabajo con Visual Studio 2013 y SQL Server 2014.

    Me ocurre que cuando uso un formulario, hago una consulta y su resultado es mostrado en un datagridview en ocasiones este se cuelga al no poder mostrar todas esas filas.

    Realmente lo que me ocurre es que no puedo mover arriba o abajo la barra scroll de dicho datagridview. Entiendo que porque el mismo queda colgado.

    La consulta que queria hacerles es cómo puedo evitar esto. ¿que herramientas o técnicas existen para ello que pueda investigar y probar?

    Muchas gracias

    Un saludo

    Angel

    jueves, 17 de diciembre de 2015 9:33

Respuestas

  • Habría que ver de qué número de filas estamos hablando y cómo realizas la carga de las filas.

    Si realizas la carga de la información del DataGridView añadiendo las filas una a una tienes que tener en cuenta que el control se va a redibujar después de añadir cada una de las filas lo que puede ralentizar mucho la aplicación. En esos casos es preferible cargar los datos de golpe a través de la propiedad DataSource.

    Si el problema es que el número de filas es tan grande que da problemas de memoria la solución podría ser implementar una paginación de forma que en cada momento únicamente muestres parte de la información (la correspondiente a cada página)

    jueves, 17 de diciembre de 2015 10:08

Todas las respuestas

  • Habría que ver de qué número de filas estamos hablando y cómo realizas la carga de las filas.

    Si realizas la carga de la información del DataGridView añadiendo las filas una a una tienes que tener en cuenta que el control se va a redibujar después de añadir cada una de las filas lo que puede ralentizar mucho la aplicación. En esos casos es preferible cargar los datos de golpe a través de la propiedad DataSource.

    Si el problema es que el número de filas es tan grande que da problemas de memoria la solución podría ser implementar una paginación de forma que en cada momento únicamente muestres parte de la información (la correspondiente a cada página)

    jueves, 17 de diciembre de 2015 10:08
  • Prueba lo siguiente

    DataGrilla.datasource = nothing

    Tu código para llenar tu tabla 

    DataGrilla.datasource = tabla

    viernes, 18 de diciembre de 2015 17:54
  • Hola Rene.

    He probado lo que me indicas y sigo teniendo problemas de carga en el datagrid.

    Voy a intentar implementar una paginación.

    Muchas gracias

    Angel

    jueves, 24 de diciembre de 2015 11:08