PDA

Ver la Versión Completa : Seleccionar fila en rejilla...


superhopi
08-07-2003, 17:21:42
Hola chicos.
Tengo un form con una rejilla que contiene los datos de los clientes, y he añadido la opcion de buscar, abriendose otro form. Cuando en el segundo form ya se ha encontrado el cliente, me gustaria que en la reja de clientes saliera la fila del cliente seleccionado,,, ¿alguien me puede echar un cable?

jachguate
08-07-2003, 18:45:30
lo que tenes que hacer es ubicar en el dataset el registro que deseas. digamos con un Locate o con un FindKey.

La fila se seleccionara "automaticamente" en la grilla.

Hasta luego.

;)

mpedra
08-07-2003, 19:02:46
Si no te he entendido mal este código estaria haciendo lo que necesitas, aunque la explicación estas dando del problema no alcanza para definirlo por completo.

Formualrio1 = Class(TForm)
...
published

Procedure OnClickBuscarCliente(Sender:TObject);

end;



Formulario2 = Class(TForm)
...
published

Function Buscar(DS:TDataSet):Boolean;

end;



Procedure Formulario1.OnClickBuscarCliente(Sender:TObject);
var b:TBookmark;
bb:Boolean;
begin try DatasourceF1.DisableControls;
B:=Table1F1.GetBookmark;
with Formulario2.Create(self) do
begin bb:=Buscar(Table1F1);
Free;
end;
finally DataSourceF1.EnableControls;
if not bb then Table1F1.GotoBookmark(B)
esle refresh;
end;
end;



Procedure Formulario2.Buscar(DS:TDataset):Boolean;
begin Datasource2.DataSet:=DS;
Showmodal;
result:= (modalResult=MROK);
end;

Esta solución depende de los controles de acceso a los datos que estes utilizando. Aqui estoy suponiendo que el Formualrio1 muestra los datos de los clientes desde una tabla, pero si fuera una Query la solución posiblemente no sirva.
El Formulario2 funciona con la misma tabla del formulario1 y entonces cuando mueves el cursor lo haces siempre sobre la misma tabla.
Bueno no se si es lo que necesitabas, pero eso es lo que entendi, espero que sirva de algo

Saludos