Zitat:
Ich vererbe ja die DBGrid d.h. Ich nehme die gesamte Klasse.
Was du machst, ist aber kein vererben. Vererben wäre eine Komponente á la
TMyGrid = class (TDBGrid)
Du hingegen, vererbst ein Panel, auf welchem sich ein DBGrid befindet. Zu deinem eigentlichen Problem:
Ansatz 1:
- für das interne DBGrid sollte SetSubComponent(true) aufgerrufen werden, dann müsste es auch mit dem
OI klappen
Ansatz 2: (der in meinen Augen bessere)
- ich würde die relevanten Properties und nicht das komplette DBGrid als Property auslagern
Delphi-Quellcode:
type
Grid_Neu =Class(TPanel)
private
FGrid : TDBGrid;
procedure SetDatasource(const AValue: TDatasource);
function GetDatasource: TDatasoure;
public
constructor Create(AOwner: TComponent); override;
published
Property DataSource: TDataSource read GetDatasource write SetDatasource;
end;
implementation
procedure TGrid_Neu.SetDataSource(const AValue: TDatasource);
begin
FGrid.Datasource := AValue;
end;
function TGrid_Neu.GetDatasource: TDatasource;
begin
result := FGrid.DataSource;
end;