AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

First Steps: FMX tgrid tcolumn databinding fieldname

Ein Thema von DSCHUCH · begonnen am 9. Aug 2016 · letzter Beitrag vom 16. Aug 2016
Antwort Antwort
DSCHUCH

Registriert seit: 6. Jun 2007
Ort: Dresden
185 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

First Steps: FMX tgrid tcolumn databinding fieldname

  Alt 9. Aug 2016, 19:05
Hallo,

ich probiere gerade mal ein paar ganz einfache Dinge mit Firemonkey, habe ich schon ne halbe Stunde probiert, gegoogled und quellcode angeschaut, komme nicht weiter und Problem ist garantiert ganz einfach:

Ich möchte den Inhalt einer Datenbank darstellen, gelöst über TGrid, Query, TDataSource und TBindSourceDB. Funktioniert.

Ich wollte jetzt die ColumnWidth im Quellcode vergeben, da ich nicht genau weiß wieviele Spalten entstehen (Select * FROM) und oder halt auf den Inhalt anpassen.
  • Vordefinierte Propertie (ColumnAutoWidht) habe ich nicht gefunden
  • Im CustomDraw habe ich TColumn, wie finde ich die dahinterliegende Datenanbindung / Fieldname heraus? ... ich wollte über TField.DataSize oder Displaywidth die Spaltenbreite setzen
  • IF Column.Index=0 then Column.Width:=140; >>>> irgendsowas >>>> IF Column.DataBinding.MemberName='fieldA' then Column.Width:=140;

Evtl gibt es ja auch irgendwo ein Tutorial oder sonstige Einstiegsdokumentation?

Danke,
Daniel.
  Mit Zitat antworten Zitat
DSCHUCH

Registriert seit: 6. Jun 2007
Ort: Dresden
185 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: First Steps: FMX tgrid tcolumn databinding fieldname

  Alt 11. Aug 2016, 08:58
Ich trage hier mal bissl was zusammen, was ich auf meiner Recherche so finde:

http://stackoverflow.com/questions/3...byrow-function

Delphi-Quellcode:
var tmp : TFmxObject;
 begin
  tmp:=TColumnAccess(Columns[Col]).CellControl;
  result:=TControl(tmp).BoundsRect.BottomRight
Edit: wobei das scheinbar veraltet ist:
http://www.delphipraxis.net/180120-z...d-fmx-xe6.html

Geändert von DSCHUCH (11. Aug 2016 um 09:08 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von MEissing
MEissing

Registriert seit: 19. Jan 2005
Ort: Egelsbach
1.384 Beiträge
 
Delphi 12 Athens
 
#3

AW: First Steps: FMX tgrid tcolumn databinding fieldname

  Alt 16. Aug 2016, 09:39
Ganz einfach (Getestet mit 10.1 Berlin):
Code:
procedure TForm1.AutoSizeCol(Grid: TStringGrid; Column: integer);
var
  i: integer;
   W, WMax : Single;
begin
  WMax := 0;
  for i := 0 to (Grid.RowCount - 1) do begin
    W := Grid.Canvas.TextWidth(Grid.Cells[Column, i]);
    if W > WMax then
      WMax := W;
  end;
  Grid.Columns[Column].Width := WMax + 8;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin
  for i := 0 to StringGrid1.ColumnCount - 1 do
    AutoSizeCol(StringGrid1, i);
end;
Matthias Eißing
cu://Matthias.Eißing.de [Embarcadero]
Kein Support per PN
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:00 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