Ver Mensaje Individual
  #3  
Antiguo 20-10-2008
noob noob is offline
Miembro
 
Registrado: sep 2008
Posts: 212
Reputación: 16
noob Va por buen camino
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?

Última edición por noob fecha: 20-10-2008 a las 16:28:21.
Responder Con Cita