Utilizando TMenuItem para Busquedas
Gracias Marto lo solucione asignando la propiedad Tag con un Integer
distinto para cada Item Creado Dinamicamente e interrogandolo Despues.
Paso el Código:
{ Funciones y Acciones para realizar Busquedas }
// ____________________________________________________________________________
procedure TfrmBuscar.TipoBusqueda(Titulo: String; NumeroOrden: Integer);
var
NewItem: TMenuItem;
begin
NewItem := TMenuItem.Create(Self);
NewItem.Caption := Titulo;
NewItem.OnClick := acBusca.OnExecute; // Llamada al Action.
{ En Está funcion se define NumeroOrden que será el Tag Asignado}
{ como es una propiedad que no se usa en los Items y es la }
{ única por la cual puedo Interrogar cual es el Item Seleccionado }
NewItem.Tag := NumeroOrden;
PopMenu.Items.Add(NewItem);
end;
procedure TfrmBuscar.acBuscaExecute(Sender: TObject);
var strWhere: string;
x:integer;
begin
try
if Sender is TMenuItem then
FiltrandoBusquedas('WHERE ('
+ CamposBusqueda.Strings[TMenuItem(Sender).Tag] +' LIKE '
+quotedStr(trim(txtTexto.Text) +'%')+')');
except
end;
end;
{Nuevo}
procedure TfrmBuscar.FiltrandoBusquedas(AWhere: string);
var
strWhere: string;
begin
Try
ADOQuery1.DisableControls;
ADOQuery1.Close;
strWhere := AWhere;
ADOQuery1.SQL.Strings[1] := strWhere;
ADOQuery1.Open;
ADOQuery1.EnableControls;
lblCoincidencias.Caption := 'Cantidad de coincedencias: '
+ inttostr(ADOQuery1.RecordCount );
gridResultado.Columns[gridResultado.Columns.Count - 1].Color := clSkyBlue;
FormatoGrilla;
except
end;
end;
{ FIN Funciones y Acciones para realizar Busquedas }
// ____________________________________________________________________________
|