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 05-10-2007
Avatar de eddg
eddg eddg is offline
Miembro
 
Registrado: ago 2007
Ubicación: Maracay, Edo Aragua, Venezuela
Posts: 75
Poder: 17
eddg Va por buen camino
Dejar de visualizar un registro de un DBGrid...

Señores, tengo un DBGrid, conectado perfectamente a una ADOTable

Ademas, cuando selecciono una de las filas del DBGrid, y le doy al Boton AGREGAR, solo se me agrega el campo que yo necesito a un ListBox, todo esta bien, todo perfecto. Sin embargo, me gustaria que al momento de agregar esta fila al ListBox, este campo dejara de verse en el DBGrid.


Es como que si en el DBGrid, tenga a: Pedro, Maria y Luis. Entonces, cuando le de a LUIS agregar, este se agregue al ListBox y desaparezca del DBGrid, pero no de la base de datos de la tabla...

Y que cuando le ordene quitarlo del DBGrid, este desaparezca del DBGrid y aparezca nuevamente en el DBGrid...

Que se le puede hacer en ese caso!!!
Responder Con Cita
  #2  
Antiguo 05-10-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola!

¿Por que no mejor usar dos TListBox?

Uno lo llenas con los valores de un query, por ejemplo:

Código Delphi [-]
Query.Open;
Query.First;
while not Query.Eof do
begin
  ListBox1.Items.Add(Query.FieldByName('Nombre').AsString);
  Next
end;
Query.Close

Ya con esto es más fácil hacer lo que necesitas...

Ahora, creo que estas usando mal los conceptos... me imagino que lo que quieres ocultar es un registro, no un campo... voy bien o me regreso?


Saludos...
Responder Con Cita
  #3  
Antiguo 05-10-2007
Avatar de eddg
eddg eddg is offline
Miembro
 
Registrado: ago 2007
Ubicación: Maracay, Edo Aragua, Venezuela
Posts: 75
Poder: 17
eddg Va por buen camino
Correcto, lo que deseo ocultar es un registro del DBGrid y despues poder mostrarlo cuando lo quite del ListBox...

Sabes, no se como trabajar con los Query!

Tengo un DBGrid, de una ADOTabla q contiene mas de 30 campos, pero solo muestro 2 campos en el DBGrid (y eso es lo que me interesa), sin embargo he pensado si en vez de utilizar un DBGrid para mostrar esos 2 campos usara un ListBox, pero no hayo como conectar a este con la AdoTable...

Como le haría en ese caso?



__________________________________________________________

"Todos somos muy ignorantes, lo que sucede es que no todos ignoramos las mismas cosas"

- Albert Einstein -
Responder Con Cita
  #4  
Antiguo 05-10-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

El procedimiento es el mismo, solo que en lugar de usar el Query usas la Tabla...

Código Delphi [-]
ADOTable.Open;
ADOTable.First;
while not ADOTable.Eof do
begin
  ListBox1.Items.Add(Format('%s %s', [ADOTable.FieldByName('Nombre').AsString,
    ADOTable.FieldByName('Apellidos').AsString]));
  Next
end;
ADOTable.Close


Saludos...
Responder Con Cita
  #5  
Antiguo 05-10-2007
Avatar de eddg
eddg eddg is offline
Miembro
 
Registrado: ago 2007
Ubicación: Maracay, Edo Aragua, Venezuela
Posts: 75
Poder: 17
eddg Va por buen camino
muy bueno, sin embargo, mi base de datos es de mas de 1500 registros y cuando mando a ejecutar el programa, este tarda mucho y no abre!
Responder Con Cita
  #6  
Antiguo 05-10-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Bueno... ese si es un problema...

Una solución es después de la línea ListBox1.Items.Add(...) agregues Application.ProccessMessages...

Ahora... pensándolo bien, puedes, usando el TDBGrid hacer lo que deseas...

Aquí tendrías que jugar con el evento OnFilterRecord y la propiedad Filtered del TADOTable...

Algo como:

Código Delphi [-]
procedure TForm1.ADOTable1.OnFilterRecord(DataSet: TDataSet; var Accept: Boolean);
var
  
begin
  // Si el valor del campo Nombre no existe en el ListBox, se muestra en el Grid...
  Accept := ListBox1.Items.IndexOf[ADOTable1.FieldByName('Nombre').AsString) = -1
end;


Saludos...
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
No Dejar borrar en un DBGrid Gangster Conexión con bases de datos 2 28-06-2007 13:43:14
Visualizar contenido memo en un dbgrid luxus Conexión con bases de datos 4 31-08-2006 18:56:59
Visualizar Datos de una consulta SQL en DBGrid luxus Conexión con bases de datos 4 08-08-2006 09:23:38
Visualizar un registro de una consulta satabel SQL 1 17-07-2005 21:56:15
Dejar Estático al Registro AGAG4 Varios 2 18-10-2004 19:25:48


La franja horaria es GMT +2. Ahora son las 20:14:31.


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