Hola de nuevo.
Cita:
Empezado por alexglez1255
...el cual solo es un listado de la tabla de articulos de almacen con dos campos Codigo y Descripcion, y al ir insertando el dato a buscar pongo la orden para que busque lo que se esta tecleando...
|
¿ Buscas que se posicione en la fila con el valor mas cercano al ingresado y que se mantengan visibles las demás filas del
TClientDataSet ?
Si es así, podrías hacer:
Código Delphi
[-]
procedure TForm1.FormCreate(Sender: TObject);
begin
...
with ClientDataSet1 do
begin
IndexFieldNames := 'COD_ARTICULO;DESCRIPCION';
Open;
end;
with ComboBox1 do
begin
Style := csDropDownList;
ItemIndex := 0;
end;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
with TComboBox(Sender) do
if ItemIndex = 0 then
ClientDataSet1.IndexFieldNames := 'COD_ARTICULO'
else
ClientDataset1.IndexFieldNames := 'DESCRIPCION';
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
with ClientDataSet1 do
begin
SetKey;
if ComboBox1.ItemIndex = 0 then
FieldByName('COD_ARTICULO').AsString:= TEdit(Sender).Text
else
FieldByName('DESCRIPCION').AsString:= TEdit(Sender).Text;
GotoNearest;
end;
end;
Saludos