Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#23

AW: Spaltenbreite DBGrid automatisch anpassen

  Alt 11. Okt 2012, 09:31
Ich lasse gewöhnlich den Anwender entscheiden, wie breit er seine Spalten haben möchte, und speichere die Abmessungen in einer extra Tabelle, in der nur solche Anwender-Daten hinterlegt werden. Meine DBGrids starten meist – d.h. wenn es so viele Felder in der Tabelle gibt, daß sie auch auf einem sehr breiten Screen nicht alle gleichzeitig darstellbar sind – mit einer Standard-Spaltenbreite, die sich nicht an der möglichen Länge der Tabellen-Inhalte orientiert, sondern an der Länge des Spalten-Titels. Der Anwender kann sich dann seine bevorzugten Spaltenbreiten selber einstellen, seine Einstellungen werden beim Beenden des Programms (oder auch, wenn man will, nach jeder Spaltenbreiten-Änderung) in der DB gespeichert und bei Programmstart wieder eingelesen und angewendet:

Delphi-Quellcode:
// Spaltenbreiten DBGrid_V_Artikel in FormMain
     z := FormMain.DBGrid_V_Artikel.Columns.Count -1;
     FOR i := 0 TO z DO
     BEGIN
          Aus := IntToStr(i);
          IF i < 10 THEN Aus := N + Aus;
          Aus := 'TAB_ARTIKEL_' + Aus;
          FormMain.DBGrid_V_Artikel.Columns[i].Width := DatMod.Dset_Tabellen.FieldByName(Aus).AsInteger;
     END;
  Mit Zitat antworten Zitat