PDA

Ver la Versión Completa : cambiar en tiempo de ejecución datasource de dbedits


Galahad
20-04-2009, 14:18:17
hola, buenos dias...

Tengo un componente tpagecontrol con 2 pestañas (tabsheet)....
en cada pestaña tengo un grid y varios dbedits todos del mismo dataset.
En el evento OnPagecontrolchange pretendo cambiar los datasource de los dbedits con el código que adjunto...



if pagecontrol1.activepage = tabsheet1 then
begin
dbnavigator1.datasource := dt_tabla1;
dbeditfecha.datasource := dt_tabla1;
dbeditdocument.datasource := dt_tabla1;
end
else
begin
dbnavigator1.datasource := dt_table2;
dbeditfecha.datasource := dt_tabla2;
dbeditdocument.datasource := dt_tabla2;
end;
form1.refresh;


El problema es que cuando me desplazo por el grid de la segunda pestaña (tabsheet2), no se 'refresca' el contenido de los dbedits del segundo grid, es decir , los que corresponden al datasource dt_table2.
En cámbio, cuando cámbio otra vez a la pestaña1 (tabsheet1), los dbedits funcionan perfectamente, al desplazarme por el grid, se refresca correctamente el contenido de los dbedits.
hay que hacer algo adicional para cambiar en tiempod e ejecución el datasource de los componentes dbedit ?..
Saludos..

Caro
20-04-2009, 15:36:34
Hola levanteelx, solo estas cambiando la propiedad DataSource y no el DataField, o tienen el mismo nombre de campos tus tablas, para cambiar el DataField primero tienes que ponerlo con vacío, cambias el dataSource y luego el campo.

Saluditos

Galahad
20-04-2009, 19:08:23
Hola caro,,

Los nombres de los campos son los mismos,, son tablas diferentes, pero que tienen los mismos nombres de campo de campo....

saludos...