Ver Mensaje Individual
  #2  
Antiguo 27-06-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por giulichajari Ver Mensaje
Hola de vuelta

Bueno tengo un Formulario con un DBGrid, 2 Edit correspondiente a 2 campos de la base de datos, para filtrar los datos del DBGrid. Pero necesito ayuda en lo siguiente
1-Que al borrar una letra en un Edit, se actualize la busqueda, es decir el DBGrid
2-Que al salir de un Edit se borre el otro y el dbgrid vuelva a sin estar filtrado.
3-Exportar el DBGRid filtrado para imprimir.
Hola.

El punto 1 ya lo tenes solucionado.

Con el 2, podrías asignar este evento a los dos Edits:
Código:
void __fastcall TForm1::EditExit(TObject *Sender)
{
  Table1->Filtered = false;
}
El punto 3 es el que mas se complica por culpa del punto 2 ya que, estando en un Edit, vas a tener que llamar al form que tiene el TQuickRep sin que se pierda el foco (y por tanto el filtro).

Una posible solución es poner la propiedad KeyPreview del form a true y detectar una tecla, o combinación de ellas, en el evento OnKeyDown del mismo, algo parecido a:
Código:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  KeyPreview = true;
}
...
void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
  if (Key == VK_F1)
    Form2->ShowModal(); // (Form2 donde esta TQuickRep)
}
Por otro lado, en Form2 tendras que agregar al QuickRep un TQRSubDetail con su propiedad DataSet = Form1->Table1. Y tantos TQRDBText como campos se muestren en las columnas de Form1->DBGRid, todos con su propiedad DataSet = Form1->Table1 y cada uno con su nombre de campo correspondiente.

Para lo cuál Form2 deberá tener acceso a Table1 ya sea que esta resida en un TDataModule (la mejor opción) o mediante la inclusión de Form1, haciendo de este modo una referencia circular.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 27-06-2013 a las 18:51:00. Razón: Corregir etiqueta [I] [/I]
Responder Con Cita