Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - StringGrid Column und Größe


RedBull77 - Di 24.10.06 21:26
Titel: StringGrid Column und Größe
Hi zusammen,

ich habe ein StringGrid. Genauer gesagt heisst das Teil AdvStrinGrid von TMS.
Befüllt wird das Teil mit Daten aus einer MySQL Tabelle.

Mein Problem ist das ich es nicht hinbekommen die Columngröße so hinzubekommen das die der Inhalt der 7 Columns
so dargestellt wird das man kein Manuelles Resize mehr braucht.

Auto-Strech: Da werden die Columns so groß wie die Spalte in der Datenbank.

StringGrid.ColWidths[x] : Da bekomme ich ab dem 5. Column eine Exception:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
stringGrid1.ColWidths[0] := 10;
stringGrid1.ColWidths[1] := 30;
stringGrid1.ColWidths[2] := 230;
stringGrid1.ColWidths[3] := 100;
stringGrid1.ColWidths[4] := 100;
stringGrid1.ColWidths[5] := 100;


Ab dem 5. Column kommt folgende Exception:

Im Projekt dblist.exe ist eine Exception der Klasse EInvalidGridOperation mit der Meldung 'Gitterindex außerhalb des zulässigen Bereichs' aufgetreten.


Hat jemand vieleicht eine Idee?


_frank_ - Di 24.10.06 21:31

hast du das mal mit nem normalen StringGrid probiert? bei mir geht das...evtl. ein bug in der Komponente, sonst wüsst ich auch nix.

sind zu dem zeitpunkt auch schon 7 Spalten vorhanden?

Gruß Frank


alias5000 - Di 24.10.06 21:31

Edit: Übersehen, dass es 7 Columns sind, sorry :oops:


RedBull77 - Di 24.10.06 21:46

Hi,

ja zu dem Zeitpunkt sind die 7 Spalten schon vorhanden.

Nein hab es noch nicht mit dem normalen String Grid Probiert. Da die TMS viel mehr Möglichkeiten bietet will ich auch keine "normale" nehmen.


_frank_ - Di 24.10.06 22:38

.oO(die Möglichkeit exceptions zu werfen hat die normale auch)
hast du dir vor diesem code mal die anzahl anzeigen lassen? gf. mal bestimmte code-abschnitte weglassen, bzw. den code mal probieren in einem separaten Programm, wo du einmal den colcount im OI setzt und einmal per code...
du verwendest diese möglichkeiten wohl schon? du solltest erstmal nur zu testzwecken das normale nehmen...später kannst du es ja ersetzen.

Gruß Frank


LeoLöwe - Mi 25.10.06 08:05

Sorry falschet Thread


jasocul - Mi 25.10.06 08:13

user profile iconRedBull77 hat folgendes geschrieben:
ja zu dem Zeitpunkt sind die 7 Spalten schon vorhanden.
Bist Du Dir da ganz sicher?
Standardmäßig werden 5 Spalten erzeugt. Daher würde die Exception genau richtig sein, wenn Du die Spaltenzahl nicht auf 7 gesetzt hast.
Lasse Dir einfach mal vor Deinem Code die Anzahl der Spalten mit einem ShowMessage anzeigen.