DBGRID Automatische breite
-
Andy Nightingale
- Beiträge: 309
- Registriert: Mo 13. Jan 2025, 12:11
DBGRID Automatische breite
Hallo Leute,
ich habe eine Frage wo ich nicht weiter komme. Ich habe ein DBGRID un darauf sind die einzelnen Felder. Alles soweit super. Nun möchte ich aber das die Daten in den einzelnen Felder die Feldbreite automatisch anpassen. Also je nachdem wie viel drin steht. Das müßte doch auch ohne Programmierung gehen.-als Anfänger steh ich irgendwie aufm Schlauch.
Grüße
ich habe eine Frage wo ich nicht weiter komme. Ich habe ein DBGRID un darauf sind die einzelnen Felder. Alles soweit super. Nun möchte ich aber das die Daten in den einzelnen Felder die Feldbreite automatisch anpassen. Also je nachdem wie viel drin steht. Das müßte doch auch ohne Programmierung gehen.-als Anfänger steh ich irgendwie aufm Schlauch.
Grüße
Re: DBGRID Automatische breite
Mit "Options" -> "dgAutoSizeColumns" schon probiert?
-
Andy Nightingale
- Beiträge: 309
- Registriert: Mo 13. Jan 2025, 12:11
Re: DBGRID Automatische breite
Hallo Theo,
ja klar hab das probiert und angeklickt.-aber funktioniert nicht. Manchmal schon komisch.
Grüße
ja klar hab das probiert und angeklickt.-aber funktioniert nicht. Manchmal schon komisch.
Grüße
-
charlytango
- Beiträge: 1215
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: DBGRID Automatische breite
ich bin jetzt wirklich kein Crack bei DBGrids, laut meiner Erfahrung reicht es nicht, einfach in den Options dgAutoSizeColumns zu setzen. Warum das nicht reicht, weiß ich leider nicht.
Wenn man aber - nachdem man Daten geholt hat, im Code die Aktion (bei gesetztem dgAutoSizeColumns ) auslöst, klappt es.
Wenn man aber - nachdem man Daten geholt hat, im Code die Aktion (bei gesetztem dgAutoSizeColumns ) auslöst, klappt es.
Code: Alles auswählen
SQLQuery.Open;
DBGrid1.AutoAdjustColumns;-
Andy Nightingale
- Beiträge: 309
- Registriert: Mo 13. Jan 2025, 12:11
Re: DBGRID Automatische breite
Wo schreibst du denn den Code hin? SQLQuery.open da motzt Lazarus....Grüßecharlytango hat geschrieben: So 21. Dez 2025, 10:23 ich bin jetzt wirklich kein Crack bei DBGrids, laut meiner Erfahrung reicht es nicht, einfach in den Options dgAutoSizeColumns zu setzen. Warum das nicht reicht, weiß ich leider nicht.
Wenn man aber - nachdem man Daten geholt hat, im Code die Aktion (bei gesetztem dgAutoSizeColumns ) auslöst, klappt es.
Code: Alles auswählen
SQLQuery.Open; DBGrid1.AutoAdjustColumns;
-
charlytango
- Beiträge: 1215
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: DBGRID Automatische breite
ich kenne deinen Programmierstil nicht. Du bezeichnest dich selbst als Anfänger.
Da liegt es nahe dass man möglichst viel in der GUI und mit Komponenteneinstellungen macht. Das ändert sich mit mehr Erfahrung.
Auf einem typischen Formular mit DB Anbindung liegt/'Klebt' bei mir eine TSQLQuery Komponente, ein TDatasource, ein TDBGrid und einige datensensitive Controls.
In der GUI wird das TDBGrid und die datensensitiven Controls mit dem TDatasource und dieses mit der TSQLQuery verbunden.
Der Rest erfolgt im Code.
Meistens gibt es eine Prozedur welche das SQL Statement zusammen baut, ggfs Parameter einsetzt und die Query durchführt. Dort findet sich dann auch auch DBGrid1.AutoAdjustColumns.
Aircode:
Aufgerufen wird so eine Prozedur im OnActivate, dan kann man sicher sein dass Lazarus bereits alle Komponenten geladen hat.
Da liegt es nahe dass man möglichst viel in der GUI und mit Komponenteneinstellungen macht. Das ändert sich mit mehr Erfahrung.
Auf einem typischen Formular mit DB Anbindung liegt/'Klebt' bei mir eine TSQLQuery Komponente, ein TDatasource, ein TDBGrid und einige datensensitive Controls.
In der GUI wird das TDBGrid und die datensensitiven Controls mit dem TDatasource und dieses mit der TSQLQuery verbunden.
Der Rest erfolgt im Code.
Meistens gibt es eine Prozedur welche das SQL Statement zusammen baut, ggfs Parameter einsetzt und die Query durchführt. Dort findet sich dann auch auch DBGrid1.AutoAdjustColumns.
Aircode:
Code: Alles auswählen
function OpenQuery:boolean;
begin
result:=false;
try
if SQLQuery1.Active then SQLQuery1.Close;
SQLQuery1.SQL.Text := 'SELECT......';
SQLQuery1.Open;
if SQLQuery1.RecordCount <= 0 then showmessage('Kein Abfrageergebnis gefunden');
Result := SQLQuery1.RecordCount > 0; // True nur bei echten Daten
DBGrid1.AutoAdjustColumns;
except
on E: Exception do MyLog.dlog(FsTitle, 'OpenQuery Fehler: ' + E.Message);
end;
end;
-
Andy Nightingale
- Beiträge: 309
- Registriert: Mo 13. Jan 2025, 12:11
Re: DBGRID Automatische breite
Hallo Charlytango,
ja Anfänger.-naja bis ich soweit bin wie die meisten hier braucht es noch lange.
Ich habe gemerkt das wenn ich etwas herausfinde und das dazugehörige programmiere (eher zusammenstelle als programmieren) dann vielleicht ein paar Wochen etwas anderes mache.-das erste nicht mehr genau weis und dann muß ich mir das alles nochmals ansehen.
Ist mühsam. Es gibt auch keine Art Lehrgang wo man Lazarus lernen könnte. Es wäre cool wenn es eine Art "Volkshochschule gäbe wo man hingehen könnte und es "richtig" lernen und verstehen könnte. Das was du sagst verstehe ich so das du das meiste programmierst anstatt es irgendwo einstellst..-richtig?
Das macht Sinn. Aber man muß es können.
Bin ja sehr froh das es hier das Forum gibt.-damit ich wenigstens einiges lernen und verstehen kann. Ich werde dein Tipp versuchen umzusetzen.
DANKE dir.
ja Anfänger.-naja bis ich soweit bin wie die meisten hier braucht es noch lange.
Ich habe gemerkt das wenn ich etwas herausfinde und das dazugehörige programmiere (eher zusammenstelle als programmieren) dann vielleicht ein paar Wochen etwas anderes mache.-das erste nicht mehr genau weis und dann muß ich mir das alles nochmals ansehen.
Ist mühsam. Es gibt auch keine Art Lehrgang wo man Lazarus lernen könnte. Es wäre cool wenn es eine Art "Volkshochschule gäbe wo man hingehen könnte und es "richtig" lernen und verstehen könnte. Das was du sagst verstehe ich so das du das meiste programmierst anstatt es irgendwo einstellst..-richtig?
Das macht Sinn. Aber man muß es können.
Bin ja sehr froh das es hier das Forum gibt.-damit ich wenigstens einiges lernen und verstehen kann. Ich werde dein Tipp versuchen umzusetzen.
DANKE dir.
- kralle
- Lazarusforum e. V.
- Beiträge: 1283
- Registriert: Mi 17. Mär 2010, 14:50
- OS, Lazarus, FPC: Manjaro Linux, Mint und Windows 10 ,Lazarus 4.99, FPC-Version: 3.3.1
- CPU-Target: 64Bit
- Wohnort: Bremerhaven
- Kontaktdaten:
Re: DBGRID Automatische breite
Moin,
zum lernen, schaue mal hier: https://www.youtube.com/playlist?list=P ... uRFaK0JE2z
Gruß Kralle
zum lernen, schaue mal hier: https://www.youtube.com/playlist?list=P ... uRFaK0JE2z
Gruß Kralle
OS: MX Linux, Linux Mint und Windows 10
FPC-Version: 3.3.1 , Lazarus 3.99
+ Delphi XE7SP1
FPC-Version: 3.3.1 , Lazarus 3.99
+ Delphi XE7SP1
- Niesi
- Lazarusforum e. V.
- Beiträge: 653
- Registriert: So 26. Jun 2016, 19:44
- OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 4.5 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
- Kontaktdaten:
Re: DBGRID Automatische breite
Ja, es ist "mühsam". Da müssen alle durch, die programmieren wollen - unabhängig von der Programmiersprache.Andy Nightingale hat geschrieben: Mo 22. Dez 2025, 10:20 Hallo Charlytango,
ja Anfänger.-naja bis ich soweit bin wie die meisten hier braucht es noch lange.
Ich habe gemerkt das wenn ich etwas herausfinde und das dazugehörige programmiere (eher zusammenstelle als programmieren) dann vielleicht ein paar Wochen etwas anderes mache.-das erste nicht mehr genau weis und dann muß ich mir das alles nochmals ansehen.
Ist mühsam. Es gibt auch keine Art Lehrgang wo man Lazarus lernen könnte. Es wäre cool wenn es eine Art "Volkshochschule gäbe wo man hingehen könnte und es "richtig" lernen und verstehen könnte. Das was du sagst verstehe ich so das du das meiste programmierst anstatt es irgendwo einstellst..-richtig?
Das macht Sinn. Aber man muß es können.
Bin ja sehr froh das es hier das Forum gibt.-damit ich wenigstens einiges lernen und verstehen kann. Ich werde dein Tipp versuchen umzusetzen.
DANKE dir.
Was einen Kurs angeht: Du kannst auch auf die Bücher, Videos usw. zu Delphi zurück greifen - es ist sehr ähnlich. Aber Du möchtest vermutlich einen Kurs zu Deinen Themen - und da wird es einfach schwierig, weil es nun einmal sehr viele unterschiedliche Themen gibt.
Zum Programmierstil: Mach Dein Ding. Lass Dir nix erzählen sondern probiere aus und bleibe bei dem, was Dir gefällt / liegt. Es gibt keinen einheitlichen Programmierstil, das ist von Person zu Person unterschiedlich. (Ich programmiere seit 1986 mit Pascal - ich benutze GUI und Komponenteneinstellungen so oft es nur geht. Das gibt mir mehr Zeit, mich auf mein eigentliches Thema zu konzentrieren und da vorwärts zu kommen. Lebenszeit ist schließlich knapp. Oder anders ausgedrückt: Wenn ich eine Software zur Optimierung von Getrieben schreibe, will ich micht mit Form, Farbe oder Tönen von irgendwelchen Buttons, Fensterbalken und Klingeln beschäftigen. Aber das ist allen selbst überlassen ...)
Zum Vergessen: Da helfen nur Notizen, da bin ich mir sicher. Schreib es auf und ergänze das Dokument immer wieder. Niemand kann sich alles im Kopf merken ...
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...
-
Andy Nightingale
- Beiträge: 309
- Registriert: Mo 13. Jan 2025, 12:11
Re: DBGRID Automatische breite
Moin Kralle,.-danke das habe ich schon gemacht,- aber Datenbank und C/S war leider nicht dabei.-es wäre doch cool wenn ein paar Lazarus Profis sich zusammentun und eine Lazarus Schule oder Kurs anbieten würden. Also so richtig live.kralle hat geschrieben: Mo 22. Dez 2025, 10:46 Moin,
zum lernen, schaue mal hier: https://www.youtube.com/playlist?list=P ... uRFaK0JE2z
Gruß Kralle
-
Andy Nightingale
- Beiträge: 309
- Registriert: Mo 13. Jan 2025, 12:11
Re: DBGRID Automatische breite
Hallo Niesi,Zum Programmierstil: Mach Dein Ding. Lass Dir nix erzählen sondern probiere aus und bleibe bei dem, was Dir gefällt / liegt. ....
danke das ist ein sehr guter Ratschlag.-wirklich. Man versucht als Anfänger alles richtig zu machen und vergisst sich dabei selbst. Grüße in den Osten. Die Ossis (lieb gemeint) sind einfach bodenständiger und blicken noch was in Deutschland so vor sich geht. Ich fand es super wie ihr 89 für eure Freiheit gekämpft habt.-ohhh das vermisse ich bei den Wessis sehr.
- Niesi
- Lazarusforum e. V.
- Beiträge: 653
- Registriert: So 26. Jun 2016, 19:44
- OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 4.5 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
- Kontaktdaten:
Re: DBGRID Automatische breite
Danke Danke - aber ich bin gar kein echter Ossi. Ich wurde in Braunschweig geboren, habe in Hamburg studiert und dort 20 Jahre gelebt. Meine Familie und ich sind 2006 in den Osten gezogen - aber ich sag's mal ganz ehrlich: Der Unterschied zwischen Ossis und Wessis ist minimal, das kann ich gut beurteilen. Es betrifft ausschließlich den Dialekt. Es gibt hier gute und schlechte, genauso wie da. Wer was anderes behauptet hat keine Ahnung.Andy Nightingale hat geschrieben: Mo 22. Dez 2025, 12:05Hallo Niesi,Zum Programmierstil: Mach Dein Ding. Lass Dir nix erzählen sondern probiere aus und bleibe bei dem, was Dir gefällt / liegt. ....
danke das ist ein sehr guter Ratschlag.-wirklich. Man versucht als Anfänger alles richtig zu machen und vergisst sich dabei selbst. Grüße in den Osten. Die Ossis (lieb gemeint) sind einfach bodenständiger und blicken noch was in Deutschland so vor sich geht. Ich fand es super wie ihr 89 für eure Freiheit gekämpft habt.-ohhh das vermisse ich bei den Wessis sehr.![]()
Hier noch mal was zu Datenbanken, vielleicht hilft Dir das: https://www.youtube.com/watch?v=TpxzCCoNFQY
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...
-
Andy Nightingale
- Beiträge: 309
- Registriert: Mo 13. Jan 2025, 12:11
Re: DBGRID Automatische breite
Hallo Niesi,Hier noch mal was zu Datenbanken, vielleicht hilft Dir das: https://www.youtube.com/watch?v=TpxzCCoNFQY
was du bist kein echter Ossi.- sauerei
Wir waren sofort Freunde. Ich hatte einen großen Respekt vor ihm. Allein zu fliehen und das mit 17 Jahre. Naja das sind so meine Erfahrungen. So macht jeder seine persönlichen Erfahrungen. Danke für das tolle Video.
Grüße
- af0815
- Lazarusforum e. V.
- Beiträge: 7039
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: DBGRID Automatische breite
Was stellt sich der Andy denn unter Datenbanken und/oder C/S wirklich vor. Beide Themen sind sehr weit zu fassen und auch davon abhängig wie sie definiert werden.Andy Nightingale hat geschrieben: Mo 22. Dez 2025, 11:58 ....-danke das habe ich schon gemacht,- aber Datenbank und C/S war leider nicht dabei ....
C/S:
Zitat aus Wikipedia:
Das ganze kann allerdings auch innerhalb eines Programms zelebriert werden. Datenbankapplikationen die auf einen Datenbank Server zugreifen, sind damit auch gemeint.Das Client-Server-Modell (auch Client-Server-Konzept, -Architektur, -System oder -Prinzip genannt) beschreibt eine Möglichkeit, Aufgaben und Dienstleistungen innerhalb eines Netzwerkes zu verteilen. Die Aufgaben werden von Computern/Programmen erledigt, die in Clients und Server unterteilt werden[1]. Der Client kann auf Wunsch einen Dienst vom Server anfordern (z. B. ein Betriebsmittel).
Für das Thema gibt es soviel Möglichkeiten es zu definieren.
Datenbanken:
Was für Datenbanken - lokale Desktop Datenbanken (CSV -Dateien, DBase, Access,...) oder Server basierende Datenbanken (MS-SQL, Oracle, DB2, SQlite,.... ) Ein riesen Thema mit einem noch größeren Umfang und umsomehr Unterschieden. Jedes System hat seinen eigenen Zugang, seine eigene Syntax und Fallstricke. Dazu nach die Zugriffskomponenten die nicht immer alles was die DB kann abbilden. Und Fallstricke, wo du von den Dev nur als Antwort bekommst - "it's per design", "won't fix". Dazu noch verschiedene ZUgänge innerhalb von Lazarus (SQLdb und ZEOS).
So, wie soll man da jetzt erraten, was der Andy jetzt genau wissen will
BTW: Vielleicht kann man das herauslösen, falls das Thema zu lange wird.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
Andy Nightingale
- Beiträge: 309
- Registriert: Mo 13. Jan 2025, 12:11
Re: DBGRID Automatische breite
Was stellt sich der Andy denn unter Datenbanken und/oder C/S wirklich vor. Beide Themen sind sehr weit zu fassen und auch davon abhängig wie sie definiert werden.
Hallo 0815,
das Video von Niesi hat schon absolut geholfen. Es wird ein C/S Anwendung mit bis zu 100 oder mehr Clients die alle auf eine Firebird Datenbank auf einem Server zugreifen.
Das Grundgerüst steht und so ein paar Dinge fehlen noch.-aber das mache ich alles Step by Step. Ich arbeite alles eins nach dem anderen ab.
Was viel Zeit kostet ist eher das Grafische und später noch die Programmierung von Suche Applikationen und Berichten und Sicherheitskonzepten usw..-.aber auch dazu habe ich Tests am laufen die alle gut aussehen.
Dann wurde mir noch ein großes Projekt angeboten mit bis zu 1000 Clients und hohen Datenmengen. Da muß ich bis Ende Januar zusagen. Das weis ich noch nicht ob ich das annehme. Muß das jetzige Projekt erst komplett fertig stellen. Allein das ist schon schwer genug für einen Anfänger.
Grüße
Hallo 0815,
das Video von Niesi hat schon absolut geholfen. Es wird ein C/S Anwendung mit bis zu 100 oder mehr Clients die alle auf eine Firebird Datenbank auf einem Server zugreifen.
Das Grundgerüst steht und so ein paar Dinge fehlen noch.-aber das mache ich alles Step by Step. Ich arbeite alles eins nach dem anderen ab.
Was viel Zeit kostet ist eher das Grafische und später noch die Programmierung von Suche Applikationen und Berichten und Sicherheitskonzepten usw..-.aber auch dazu habe ich Tests am laufen die alle gut aussehen.
Dann wurde mir noch ein großes Projekt angeboten mit bis zu 1000 Clients und hohen Datenmengen. Da muß ich bis Ende Januar zusagen. Das weis ich noch nicht ob ich das annehme. Muß das jetzige Projekt erst komplett fertig stellen. Allein das ist schon schwer genug für einen Anfänger.
Grüße