Hola giulichajari.
Cita:
Empezado por giulichajari
...
Y al salir del Edit deja de estar filtrada la tabla,ya que quiero poner en form1 2 botones, uno que imprima todo, y el otro solo lo filtrado...
|
Si, es lo que te comentaba en el mensaje anterior.
Pero se me ocurrió este modo que te permite darle el foco a cualquier componente (que no sea alguno de los dos edits en cuestión) sin que se pierda el filtro actual:
Código:
/* Asignar al evento OnEnter de ambos edits */
void __fastcall TForm1::EditEnter(TObject *Sender)
{
String sFilter;
TEdit *ed = static_cast <TEdit*> (ActiveControl);
if (ed->Name == "Edit2")
Edit3->Text = "";
else
Edit2->Text = "";
Table1->Filtered = false;
}
/* Asignar al evento OnChange de ambos edits */
void __fastcall TForm1::EditChange(TObject *Sender)
{
String sFilter = "";
TEdit *ed = static_cast <TEdit*> (ActiveControl);
if (ed->Name == "Edit2" && !ed->Text.IsEmpty()) {
Edit3->Text = "";
sFilter = "Name = " + QuotedStr(Edit2->Text + "*");
}
if (ed->Name == "Edit3" && !Edit3->Text.IsEmpty()) {
Edit2->Text = "";
sFilter = "Capital = " + QuotedStr(Edit3->Text + "*");
}
Table1->Filtered = false;
Table1->Filter = sFilter;
Table1->Filtered = true;
}
es decir que podras usar los
TButtons para llamar a la impresión.
Cita:
...No se si poner 2 TTable o con la misma alcanza...
|
No es necesario usar otro
TDataset, podes hacerlo con el mismo.
Cita:
|
He creado dos QuicReport en dos Form distinto para cada impresion respectivamente.Tal vez con un solo Report es suficiente.
|
Por lo que comentas pareciera que con un solo botón para imprimir y un solo
TQuickRep tendría que alcanzar. Si el
TDataSet está sin filtro se imprimirán todos los registros, si tiene alguno sólo los registros filtrados.
Saludos.
