Ver Mensaje Individual
  #5  
Antiguo 05-08-2004
Avatar de FNADALO
FNADALO FNADALO is offline
Miembro
 
Registrado: oct 2003
Ubicación: Palma de Mallorca
Posts: 97
Reputación: 23
FNADALO Va por buen camino
Smile 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 }
// ____________________________________________________________________________
Responder Con Cita