Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Abbildung von Column.Field auf Column (https://www.delphipraxis.net/191232-abbildung-von-column-field-auf-column.html)

Rabenrecht 22. Dez 2016 13:53

Abbildung von Column.Field auf Column
 
Hat man ein Column Objekt (Vcl.DBGrids.TColumn) kann man einfach auf das dazugehörige Field (Data.DB.TField) zugreifen.

Geht das auch andersherum? Dh. wenn ich lediglich ein Field Objekt habe, kann ich davon irgendwie Rückschlüsse auf die dazugehörige Column ziehen?
Mir geht es dabei um den Spaltenindex.

Ich habe es mit Field.FieldNo , aber damit hat mein Code zur Laufzeit Fehler produziert, denen ich gerade nachgehe.

DeddyH 22. Dez 2016 14:46

AW: Abbildung von Column.Field auf Column
 
Zur Not ganz billig:
Delphi-Quellcode:
function GetGridColumnIndexOfField(const Grid: TDBGrid; const Field: TField): integer;
var
  i: integer;
begin
  Assert(Assigned(Grid) and Assigned(Field), 'Grid und Feld müssen zugewiesen sein');
  Result := -1;
  for i := 0 to Grid.Columns.Count - 1 do
    if Grid.Columns[i].Field = Field then
      begin
        Result := Grid.Columns[i].Index;
        break;
      end;
end;
Es geht bestimmt auch eleganter, aber Deine Anforderung hatte ich selbst noch nie.

Rabenrecht 23. Dez 2016 11:21

AW: Abbildung von Column.Field auf Column
 
An so einen Holzhammer-Ansatz habe ich gar nicht gedacht. Klappt aber! :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:13 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