Tengo algo en mi cabeza que se que es posible hacerlo por que ya vi que lo hicieron pero no se como :
tengo una busqueda por medio de la descripcion de un articulo pero lo que deseo es que al ir escribiendo la descripcion en el TdbGrid me muestre el primer registro que encuentre de la tabla de Almacen que dentro de la descripcion tenga lo que estoy escribiendo, no con un filtro sino que solo se posicione en el primer registro que encuentre la cadena parcial en cualquier parte del registro. TDBGrid
me explico.. bueno este es el codigo :
Código Delphi
[-]
procedure TAltasdealmacen.edtBusqArtChange(Sender: TObject);
var
cadenaAbuscar:String;
begin
cadenaAbuscar:=edtBusqArt.Text;
if (cmbBusqArti.ItemIndex=0)and(CadenaAbuscar<>'') and (not TryStrToInt(cadenaAbuscar,codarticulo)) then
begin
ShowMessage('En el campo de Codigo solo puede escribir numeros, ponga cuidado por favor');
edtBusqArt.SetFocus;
exit;
end;
end;
procedure TAltasdealmacen.cmbBusqArtiChange(Sender: TObject);
begin
case cmbBusqArti.ItemIndex of
0: begin edtBusqArt.MaxLength:=0; end;
1: begin
edtBusqArt.MaxLength:=50;
LogicaNegocio.CDSBusqAlma.IndexFieldNames:='DESCRIPCION';
DBBusqAlma.Visible:=true; Aqui muestro el DBGrid
edtBusqArt.Text:='';
edtBusqArt.SetFocus;
end;
end;
end;
procedure TAltasdealmacen.BtbusqArtiClick(Sender: TObject);
begin
with logicanegocio do
case cmbBusqArti.ItemIndex of
0: if not CDSBusqAlma.Locate('COD_ARTICULO',edtBusqArt.text,[loCaseInsensitive]) then ShowMessage('Codigo inexistente')
Else
begin
CDSAlma.Close;
CDSAlma.Params.ParamByName('COD_ARTICULO').AsString:=edtBusqArt.Text;
CDSAlma.Open;
end;
1: if not CDSBusqAlma.Locate('DESCRIPCION',edtBusqArt.text,[loPartialKey]) then ShowMessage('Descripcion no hallada')
Else CDSBusqAlma.Refresh;
end;
end;
procedure TAltasdealmacen.edtBusqArtKeyPress(Sender: TObject;
var Key: Char);
begin
if key=#13 then BtbusqArtiClick(Sender);
end;
Alguna idea por favor, o sera alguna poropiedad especial en el DBGrid...
El Cliendataset CDSBusqAlma no manejo ningun constraint..gracias por su gran ayuda