Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Columns bei TDBGrid selber erstellen (https://www.delphipraxis.net/16051-columns-bei-tdbgrid-selber-erstellen.html)

ahachmann 9. Feb 2004 16:09


Columns bei TDBGrid selber erstellen
 
Hallo,
Ich bin grad am verzweifeln. Ich möchte ein DBGrid in einem Formular zu verwaltung aller Tabellen nutzen, um nicht so viele Formularen erstellen zu müssen. Da die Feldbreiten bei den Standard Columns zu groß sind, habe ich versucht, dem Grid selber die Colums zuzuweisen. Will das ganze halt komplett Dynamisch nutzen können.
Ich bekomme es aber partut nicht hin, dem Grid Columns zu adden, da ich mit der TCollection und was das ding alles haben möchte nicht zurecht komme.
Hat vielleicht jemand einen Codeschnipsel der sowas erledigt, mit dem ich mir das mal klarer machen kann?
Vielen Dank,
ALexander

sakura 9. Feb 2004 16:34

Re: Columns bei TDBGrid selber erstellen
 
Wenn es Dir zu Design-Zeit reicht, einfach mit der rechten Maustaste auf das Grid klicken und dann den Column-Editor aufrufen ;-)

...:cat:...

eddy 9. Feb 2004 17:56

Re: Columns bei TDBGrid selber erstellen
 
Hallo ahachmann,

Du suchst wohl etwas in der Art:
Code:
    dbg1.Columns.Clear;
    i := 0;
    dbg1.Columns.Add;
    dbg1.Columns.Items[i].FieldName := 'Lang';
    dbg1.Columns.Items[i].Width := 260;
    inc(i);
    dbg1.Columns.Add;
    dbg1.Columns.Items[i].FieldName := 'WGNr';
    dbg1.Columns.Items[i].Width := 40;
Damit kannst Du Dein DBGrid zur Laufzeit jederzeit ändern, Spalten zuordnen und auch die Spaltenbreite vorgeben.

mfg
eddy

ahachmann 11. Feb 2004 10:35

Re: Columns bei TDBGrid selber erstellen
 
Jo, super das wars.
Aber wie kann ich den nun noch die Überschrift anpassen?
column.Title und Displayname funzen leider nicht.
Thx,
ALexander

eddy 11. Feb 2004 12:37

Re: Columns bei TDBGrid selber erstellen
 
Hallo ahachmann,

nachfolgender Quelltext sollte die meisten Deine Wünsche erfüllen:

Code:
procedure TFTermin.SpeedButton3Click(Sender: TObject);
var
  i : integer;
begin
  for i := 0 to dbg1.Columns.Count - 1 do begin
    // Auswertung der DBGrid-Spalten in Abhängigkeit vom Feldnamen der Tabelle
    // hier wird nur die Spalte mit dem Namen "Datum" geändert
    if lowercase(dbg1.Columns.Items[i].Title.Caption) = 'datum' then begin
      dbg1.Columns.Items[i].Title.Caption := 'Termin';
      dbg1.Columns.Items[i].Title.Color := clYellow;

      dbg1.Columns.Items[i].Title.Font.Style := dbg1.Columns.Items[i].Title.Font.Style + [fsBold];
      dbg1.Columns.Items[i].Title.Font.Color := clBlue;
      dbg1.Columns.Items[i].Title.Font.Size := 14;
      dbg1.Columns.Items[i].Title.Font.Name := 'Arial';
    end;
 end;
end;
mfg
eddy


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