Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TDBGrid ; property Columns - überschreiben (https://www.delphipraxis.net/184248-tdbgrid-%3B-property-columns-ueberschreiben.html)

ATS3788 12. Mär 2015 08:49

Delphi-Version: XE7

TDBGrid ; property Columns - überschreiben
 
Hallo Delphianer
Ich würde gerne in der Unit Vcl.DBGrids - TCustomDBGrid
das property
Delphi-Quellcode:
property Columns: TDBGridColumns read FColumns write SetColumns;  [Default(True)]
überschreiben.

Hat jemand eine Idee wie das geht.

himitsu 12. Mär 2015 08:59

AW: TDBGrid ; property Columns - überschreiben
 
Überschreiben (Overload) nein.

[delphi][Default(True)] gehört zum property DefaultDrawing[delphi] :zwinker:


Was willst du ändern?
Den Setter:
  • TDBGridColumns.Assign
  • Delphi-Quellcode:
    property Columns write MySetColumns;
  • Delphi-Quellcode:
    property Columns: TDBGridColumns read FColumns write MySetColumns;
  • ...

ATS3788 13. Mär 2015 06:09

AW: TDBGrid ; property Columns - überschreiben
 
Danke himitsu
Das geht eben nicht.
Ich spiele da nur ein wenig herum
ich wollte da noch ein Item Checkbox unterbringen.

mit
property Columns;

kein Problem

mit
property Columns: TDBGridColumns read FColumns write SetColumns; [Default(True)]

scheint alles richtig zu sein


Delphi-Quellcode:
if not Assigned(DBG) then
DBG := TMyDBGrid.Create(self);
DBG.Parent := Self;
DBG.Left := 350;
DBG.Top := 50;
DBG.Width := 500;
DBG.DataSource := DataSource1;


DBG.Columns.Add;
DBG.Columns.Add;

DBG.Columns.Items[0].FieldName := 'COUNTER';

DBG.Columns.Items[0].DisplayName := 'Boom';

DBG.Columns.Items[1].FieldName := 'Header';

DBG.Columns.Items[1].DisplayName := 'Zuum';
bei
DBG.Columns.Items[0].DisplayName := 'Boom';

bleibt DisplayName "COUNTER"
und im Grid werden weiter alle Datenfelder weiter angezeigt.

Ich habe beides mal debuged aber ich sehe da aber keinen Unterschied.

himitsu 13. Mär 2015 07:52

AW: TDBGrid ; property Columns - überschreiben
 
Delphi-Quellcode:
type
  TMyDBGrid = class(TDBGrid)
  protected
    function CreateColumns: TDBGridColumns; override;
  end;

  TMyDBGridColumns = class(TDBGridColumns)
  published
    property CheckBoxes: ...;
  end

  TMyColumn = class(TColumn)
  published
    property CheckBox: ...;
  end

function TMyDBGrid.CreateColumns: TDBGridColumns;
begin
  //Result := TMyDBGridColumns.Create(Self, TColumn);
  Result := TMyDBGridColumns.Create(Self, TMyColumn);
end;
So?

ATS3788 14. Mär 2015 08:03

AW: TDBGrid ; property Columns - überschreiben
 
Danke himitsu probiere ich morgen aus.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz