Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-01-2004
Muten Muten is offline
Miembro
 
Registrado: jul 2003
Posts: 33
Poder: 0
Muten Va por buen camino
Question No mostrar fila en Grid al insertar

Hola!
Alguien sabe cómo evitar que se muestre una fila vacía en un DbGrid, q apunta a la misma BD q un conjunto de DbEdits, tras insertar un nuevo registro??
He estado usando la función 'DisableControls' y 'EnableControls' del DataSet y he conseguido en parte lo q buscaba (ya que se deshabilita el Grid y no muestra la columna introducida), pero tras minimizar u ocultar la pantalla, aparece la dichosa fila. De todas formas no estoy muy convencido de usar dichas funciones pq su objetivo no es ese y me deshabilita muchos eventos (los del datasource, p.ej).
Estoy usando los componentes de JFActiveSoft y Fibplus, aunq creo q para este caso no influyen en el problema.

Saludos.
Responder Con Cita
  #2  
Antiguo 28-01-2004
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Poder: 23
kinobi Va por buen camino
Hilo movido desde el foro "InterBase y Firebird" por estar fuera de tema.

Saludos
Responder Con Cita
  #3  
Antiguo 02-02-2004
Muten Muten is offline
Miembro
 
Registrado: jul 2003
Posts: 33
Poder: 0
Muten Va por buen camino
Unhappy

¿¿Nadie me puede echar una manita??
Responder Con Cita
  #4  
Antiguo 02-02-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Prueba con este código y me dices si es lo que necesitas:
Código:
procedure TForm1.DataSource1StateChange(Sender: TObject);
begin
 if DataSource1.State in [dsInsert] then
 Table1.DisableControls
 else
 Table1.EnableControls;
end;
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 03-02-2004
Muten Muten is offline
Miembro
 
Registrado: jul 2003
Posts: 33
Poder: 0
Muten Va por buen camino
Exclamation

Gracias por contestar marcos, pero esa solución ya me la había planteado (no basta con poner esas líneas en el evento 'datachange' pq hay q controlar otras cosas) de todas formas, usando Enable/disable-controls, al minimizar p.ejem. el formulario, al restaurar el grid nos muestra la fila q se está insertando, lo mismo o peores cosas pasan si ponemos una pantalla de cualquier programa tapando(total o parcialmente) nuestro form, ya q se refresca la parte del grid q ha sido tapada por el otro programa, dejando la vista del grid con datos incoherentes.
Un saludo, y gracias una vez más por molestarte.


PD. Tal vez el problema resida en el uso del JfDBGrid de los componentes de JfActiveSoft. No lo sé...

Última edición por Muten fecha: 03-02-2004 a las 09:40:30.
Responder Con Cita
  #6  
Antiguo 03-02-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Y porque no lo asocias a otro DataSet que sea refrescado en los evento AfterPost y AfterDelete del primero?

??
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #7  
Antiguo 03-02-2004
Muten Muten is offline
Miembro
 
Registrado: jul 2003
Posts: 33
Poder: 0
Muten Va por buen camino
Question

Hola jachguate, gracias antes q nada por contestar.

Tb me he planteado esa posibilidad (que es la q guardo como último recurso), pero considero que sería como matar mosquitos a cañonazos, ya que para mejorar un efecto visual, estoy cargando al programa con un exceso de datasets (dos por dbgrid en cada formulario) con el consiguiente trafico de datos por la red,etc..
Además la función que cumple el Grid es la de mostrar los datos para q con un click en cualquier fila haga aparecer todos los datos en los dbEdits asociados al mismo dataset, esto es un problema al implementarlo con 2 dataset, ya q ademas de controlar los dos eventos q me comentas, tb tengo q controlar eventos como 'AfterScroll', para cuando se cambie el registro activo de un dataset, el otro apunte al mismo...
Y muchas cosas más con las q me tuve pelear en su día con una pequeña aplicación q usaba un DbGrid apuntando a un TQuery (del antiguo BDE) y unos edits apuntando a un TTable..

Saludos a todos!!

PD Otra posibilidad q estoy planteando es la de tener un TGrid normal oculto y mostralo con las filas q habia visibles en el TDBGrid justo al insertar... aunq no se muy bien aún como hacerlo, parece una solución un poco más 'light'.
Responder Con Cita
  #8  
Antiguo 03-02-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Y porque no intentas con dos DataSources, y simplemente inactivas el que apunta al grid cuando entras a editar un registro. Cuando la edición se termina o se cancela, activas de nuevo el otro DataSource.

Quizas sea mejor que nada.. no?
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 21:39:48.


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