Insertar un Combo de otra tabla en un DBGrid

lazarus-dbgrid-combo

¿Cómo insertar un combo dentro de un dbgrid?

unit provincia;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, db, FileUtil, Forms, Controls, Graphics, Dialogs, DbCtrls,
  DBGrids, Grids;
 
type
 
  { TForm4 }
 
  TForm4 = class(TForm)
    DBGrid1: TDBGrid;
    DBLookupComboBox1: TDBLookupComboBox;
    DBNavigator1: TDBNavigator;
    dsProvincia: TDataSource;
    dsPais: TDataSource;
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form4: TForm4;
 
implementation
 
{$R *.lfm}
 
{ TForm4 }
 
procedure TForm4.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
    if (gdFocused in State) then
  begin
    if (Column.Field.FieldName = DBLookupComboBox1.DataField) then
    with DBLookupComboBox1 do
    begin
      Left := Rect.Left + DBGrid1.Left + 2;
      Top := Rect.Top + DBGrid1.Top + 2;
      Width := Rect.Right - Rect.Left;
      Width := Rect.Right - Rect.Left;
      Height := Rect.Bottom - Rect.Top;
 
      Visible := True;
end;
end;
end;
 
 
end.

Y este es el resultado!!!

lazarus-provincia-pais-dbgrid-combo

Scroll al inicio