Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-12-2010
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Refresco de un DBLookupComboBox

Hola a todos.

Tengo en un form un DBLookupComboBox el cual se llena con los datos de una table Firebird 1.5.

Cuando edito el registro en el form para Alta o Modificación, tengo puesto en el Combo un submenu (boton derecho) que me permite añadir datos a la tabla del combo en caso de que no exista.

Hasta aqui correcto, pero el problema lo tengo cuando añado un registro a la tabla desde su form sin ser llamado por el submenu y que en el momento de hacer post me da un error de access violation.

Este es el codigo que uso para el refresco:

Código Delphi [-]
procedure TF_ModulDades.PropietarisAfterPost(DataSet: TDataSet);
begin
        IBTBombers.CommitRetaining;
        F_Camions.Prop.Close;
        F_Camions.Prop.Open;
end;

Pero este código tambien se usa para la edicion normal de los registros.

Supongo que el error debe estar en el close, open, aunque no se como solventarlo.

Alguna idea para poder refrescar el contenido del dblookupcombobox para que cuando añado un registro se muestre en el desplegable?

Saludos

Josep
Responder Con Cita
  #2  
Antiguo 10-12-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Cita:
Empezado por jafera Ver Mensaje
...Alguna idea para poder refrescar el contenido del dblookupcombobox para que cuando añado un registro se muestre en el desplegable?
...
Pues se me ocurre que hagas el refrescado de datos en el dataset del cual esta enganchado el ListSouce de tu DBLookupComboBox
Código Delphi [-]
DBLookupComboBox1.ListSource.DataSet.Refresh; 
Esto lo puedes en el evento AfterPost del Dataset donde estas posteando(Post) los nuevos datos; tal como lo estas haciendo.
Obviamente tambien se puede cerrar(Close) y abrir (Open) el Dataset tal como lo estás haciendo pero creo que es precisamente eso la causa del error., por eso mejor utilizar el Método Refresh que ha sido implementado precisamente para eso.
Espero te sea de utilidad.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #3  
Antiguo 10-12-2010
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Gracias por la respuesta.

Ya he descubierto donde estaba el error, era sencillamente que el query con el que llenaba el combobox, estaba en el formulario A, y evidentemente si abria el formulario B y modificaba el dataset principal, hacia el post y el refresh con el A cerrado pues "volià mon ami".

Lo he pasado al Datamodule que siempre esta abierto.

Saludos

Josep
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
refresco de los datos fedelphi Firebird e Interbase 13 20-05-2007 23:21:36
refresco de datos en red valdorre Conexión con bases de datos 8 05-05-2007 03:16:07
Refresco en un TStringGrid jorge_mosquera Varios 2 12-04-2007 00:25:21
Problema con refresco mar646 Gráficos 0 28-03-2005 13:03:11
Refresco carlomagno Firebird e Interbase 2 27-01-2005 20:59:28


La franja horaria es GMT +2. Ahora son las 18:05:38.


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
Copyright 1996-2007 Club Delphi