DataSource desactivado
Hola Buenos días;
En Delphi XE6, tengo una simple conexión de una Query a un Grid por medio de un DataSource. Cuando abro la Query, no se muestra nada en el Grid a menos que active el DataSource: DataSource.DataSet.Active := True; Hasta ahí solucionado el problema, pero al refrescar la Query con otros parámetros (Close y Open), no ha habido forma de que me muestre los nuevos datos en el Grid, ni desactivando y activando nuevamente el DataSource ni Enabled False y True. Podrían darme una idéa de qué es lo que estoy haciendo mal? Gracias. |
Otra pista es que reviso la Query y ésta sí modifica su resultado al cambiar los parámetros, lo que puede indicar que el problema está en el Datasource ó en el DBGrid.
|
Debe funcionar bien si el dbgrid tiene asociado el datasource que recoge los datos del dataset.
Si no nos das más pistas... :confused: |
He encontrado algo muy extraño y es que si le asigno nuevamente al DataSource la Query, antes de habilitar los controles, funciona correctamente:
DataSource1.DataSet := DataModule.Query1; No sé si por tener la Query en un DataModule tenga algo que ver que se desconecta. De todas formas, antes de hacer la asignación, verifico el valor del DataSource1.DataSet y su valor es correcto. |
Poco conozco de xe6 pero en versiones antiguas de delphi cuando querias cerrar, modificar y abrir un dataset que tenía controles "enganchados" era recomendable siempre hacer un dataset.disablecontrols antes de cerrar el dataset y un dataset.enablecontrols despues de abrirlo. Lo digo solo por si sirve de ayuda, ya digo que no tengo idea de si en las últimas versiones de delphi es necesario hacer esto.
|
Nunca ha hecho falta.
Pero vuelvo a repetir lo anterior, si no nos das más pistas... |
Yo también discrepo. Lo de llamar a DisableControls y EnableControls nunca ha sido necesario para poder cerrar y reabrir un conjunto de datos con efectividad visual. De todas formas lo dicho por engranaje muestra lo que es tener el valor de ayudar.
blaiselaborde: Para salir de dudas te recomiendo que, a manera de prueba, hagas todas las operaciones empleando el objeto rejilla.
|
blaiselaborde,
Cita:
Revisa este código:
El código anterior en Delphi XE6 bajo Windows 7 Professional x32, permite realizar consultas en un componente TDBGrid a una base de datos en FireBird (Tabla EMPLOYEE), por medio de un DataModule con los InterBase Data Access Components (IBDAC), como se muestra en las siguientes imagenes: Espero sea útil :) Nelson. |
La franja horaria es GMT +2. Ahora son las 16:43:39. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi