No lo consigo
, ¿me podéis echar un cable con un código de ejemplo?
He hecho esto:
Código Delphi
[-]
(DBGrid1.Columns[1] as TColumn).Field.FieldKind := fklookup;
(DBGrid1.Columns[1] as TColumn).Field.KeyFields := 'Codigo';
(DBGrid1.Columns[1] as TColumn).Field.DataSet := AlumnoDataset;
(DBGrid1.Columns[1] as TColumn).Field.LookupKeyFields := 'Alumno';
(DBGrid1.Columns[1] as TColumn).Field.LookupResultField := 'Alumno';
¿Voy bien?
Donde el dataset del datasource de DBGrid1 esta tirando de la tabla aula.
Muchas gracias.
EDITO: He hecho esto:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
ListaAlumnos: TStringList;
i: integer;
begin
ListaAlumnos := TStringList.Create;
try
AlumnosDataset.Active := true;
AlumnosDataset.First;
AlumnosDataset.DisableControls;
while not AlumnosDataset.EOF do
begin
ListaAlumnos.Add(AlumnosDataset.FieldByName('Identificador').AsString);
AlumnosDataset.Next;
end;
finally
AlumnosDataset.Active := false;
for i := 0 to DBGrid1.Columns.Count - 1 do
begin
if AlumnosDataset.FieldName = 'Alumno' then
begin
DBGrid1.Columns[i].PickList := ListaAlumnos;
Break;
end;
end;
AlumnosDataset.EnableControls;
ListaAlumnos.Free;
end;
Así me sale un desplegable al pulsar en la columna Alumno de la tabla Aula en vez de abrírseme la tabla Alumno con todos los registros. ¿Sabéis cómo hacerlo del otro modo?