SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: chiaravel en Miércoles 30 de Julio de 2003, 22:21
-
Realmente estoy cansado de ese efecto visual que hace el Visual Basic, cuando esta realizando un proceso largo y de repente se ponen los formularios de color blanco y recien los refresca al terminar ese proceso.
Me refiero a procesos donde uno, por ejemplo, recorre toda una base de datos enorme o carga un formulario y en el evento FORM_LOAD hace grandes procesos, lo cual indefectiblemente hace que se empiece a ver parte del formulario.
Tambien ocurre esto con las Grillas que mientras las esta cargando no muestra nada y uno no sabe (salvo por la barra de desplazamiento de la derecha) si se estan agregando datos a ella o no.
Existe algun truco para que visualmente las pantallas, formularios y controles se muestren de manera normal ?
PLEASE : no recomendar el famoso REFRESH que obviamente es lo primero que uno intenta, pero el problema... con por ejemplo una grilla, es que si por cada ROW que se adiciona vamos a hacer un .REFRESH la carga se hace extremadamente lenta.
Muchas Gracias
:bravo:
-
Normalmente las cargas en las grillas se hacen registro a registro de una manera controlada. Cuando carga 1000 registro en un grid, no debe hacerlo con un for-next desde 1 a 1000, puesto que el grid sólo reconoce tantas filas como quepan en su diseño. A ver si me aclaro, supongamos que en tu grid visualizas en el modo diseño 15 filas, pues debes decirle que el row de la grilla aumente hasta el 15 y a partir de ahí se mantenga en ese mismo número, así verás como aumenta y no tendrás la sensación de que algo se haya quedado colgado.
No sé si me expliqué bien, pero si queda alguna duda, estoy dispuesto a mandar ejemplos.
-
CLaro....yo primero defino grilla.rows=1 y luego voy haciendo grilla.additem con el contenido.
El problema es que como yo en realidad mis bases de datos son simples archivos COBOL que estan en un servidor UNIX y la conexion es ODBC, si quiero saber cuantos registros tiene el Recordset me demora muchisimo.
Lo que puedo hacer es definir dicha grilla de (Por ejemplo) 5000 rows y luego en caso de que necesite mas ahi si uso el .ADDITEM.
Muchas Gracias, por el consejo, es que todavia hay mucho por aprender.
Un Cordial Abrazo
:gracias: