![]() |
DBGrid, DataSource, Spaltenbreite
Ich lasse ein DBGrid per DataSource füllen. Die DS greift auf eine Access-Datenbank zu. Ist es möglich die Spaltenbreite im DBGrid zu beeinflussen?
|
Re: DBGrid, DataSource, Spaltenbreite
ja, such mal nach ColumnWidth
|
Re: DBGrid, DataSource, Spaltenbreite
Zitat:
|
Re: DBGrid, DataSource, Spaltenbreite
TDBGrid hat eine Eigenschaft Columns. Dahinter verbirgt sich eine Liste von Spalten - jede dieser Spalten hat eine Eigenschaft Width. Die kannst Du einzeln anpassen (DBGrid.Columns[2].Width := 200).
|
Re: DBGrid, DataSource, Spaltenbreite
Zitat:
|
Re: DBGrid, DataSource, Spaltenbreite
dann erstell halt keine spalten sondern pass die vorhandenen an.
|
Re: DBGrid, DataSource, Spaltenbreite
Zitat:
|
Re: DBGrid, DataSource, Spaltenbreite
du kannst die spalten entweder ebenfalls zur laufzeit anpassen
oder zur designzeit die datasource aktivieren - dann müssten die spalten erstellt werden und du siehst sie eigentlich schon (zur designzeit). |
Re: DBGrid, DataSource, Spaltenbreite
Zitat:
Zitat:
|
Re: DBGrid, DataSource, Spaltenbreite
Er hat gemeint, daß das DataSet auf "active=true" gesetzt werden soll, nicht die DataSource. Das wird immer wieder verwechselt. 8)
|
Re: DBGrid, DataSource, Spaltenbreite
Zitat:
|
Re: DBGrid, DataSource, Spaltenbreite
das DataSet, darum geht es! Weder die DataSource noch ein DBGrid haben eine property "active". Ihr müßt mehr lesen. :lol: Wird irgendwas anderes als Zugriffskomponente benutzt, dann halt da nachgucken.
|
Re: DBGrid, DataSource, Spaltenbreite
[quote="Hansa"]das DataSet, darum geht es! Weder die DataSource noch ein DBGrid haben eine property "active". [quote]
Dann kommt: "ADOQuery: Eigenschaft SQL fehlt" |
Re: DBGrid, DataSource, Spaltenbreite
Und nun ? Das ganze Programm dürfte so wohl nicht gehen. Wenn die Datenbankabfrage nicht mal richtig eingestellt ist. :zwinker:
|
Re: DBGrid, DataSource, Spaltenbreite
Zitat:
|
Re: DBGrid, DataSource, Spaltenbreite
Übrigens : Das DBgrid ist ziemlich stark an die Datenmenge gekoppelt. Wenn die Spalten zu breit sind, dann würde ich mal in der Tabelle die Größe des Feldes verändern. Die Spalte im Grid wird immer so breit, daß das größte Feld noch rein paßt.
|
Re: DBGrid, DataSource, Spaltenbreite
Zitat:
Wenn Du eine UNION Abfrage hast, zerfetzt die Dir genau das. Seit ich jetzt wieder eine einfache Abfrage habe, paßt es wieder. |
Re: DBGrid, DataSource, Spaltenbreite
Hi,
als kleiner Zusatz anreiz. Ich habe folgendes gemacht: Einstellen der Spaltenbreite ,speichern und beim ausführen des Querys load: SAVE:
Delphi-Quellcode:
--------------
procedure TForm1.Button45Click(Sender: TObject);
var i: integer; begin for i := 0 to dbgrid1.columns.Count - 1 do begin ini.Writeinteger('Spaltenbreite',dbgrid1.columns.Items[i].FieldName,dbgrid1.columns.Items[i].width); end; end; LOAD;
Delphi-Quellcode:
procedure TForm1.Button46Click(Sender: TObject);
var i: integer; begin for i := 0 to dbgrid1.columns.Count - 1 do with dbgrid1.columns.Items[i] do width := ini.readinteger('Spaltenbreite',fieldname,i); end; PS: Ini muß natürlich vorher Creat gemacht werden . Zum Originalzustand herstellen:
Delphi-Quellcode:
Das ganze kann man nat. als Procedur erstellen und beim Onshow oder so einbinden.
ini.EraseSection('Spaltenbreite');
mfg [edit=alcaeus]Delphi-Tags eingefuegt. Mfg, alcaeus[/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz