Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Comboboxen in einem StringGrid (https://www.delphipraxis.net/42264-comboboxen-einem-stringgrid.html)

gordon freeman 16. Mär 2005 15:45


Comboboxen in einem StringGrid
 
Hi Leute,

ich will in einer bestimmten Spalte eines StringGrids nur Comboboxen anzeigen, die alle die selben Auswahlmöglichkeiten haben. Zum Anzeigen von Objekten im StringGrid hab ich die beiden Themen hier gefunden:

Thema 1
Thema 2

Allerdings haben sie mir nicht wirklich weitergeholfen, da ich nicht wirklich alles verstanden habe, das dort gesagt wurde. Außerdem zielten diese Beiträge darauf ab, dass dieAnzahl der Zeilen des StringGrids bekannt war. Ich habe allerdings einen dynamischen Grid, der immer, wenn in eine Zeile etwas eingegeben wird eine neu unten dran packt!

Wie kann ich jetzt
  • a) Genau so viele ComboBoxen erstellen, wie ich Zeilen in meinem StringGrid habe?
  • b) Diese ComboBoxen dann in die entsprechende Spalte des Grids einfügen?

tia, read you, gordon

alcaeus 16. Mär 2005 15:55

Re: Comboboxen in einem StringGrid
 
Hallo Gordon,

wir verwenden in unserem Betrieb für solche Dinge das Bei Google suchenQuantumGrid, AFAIK kann man bei der Komponente definieren, welches Control in einer Spalte sein soll. Allerdings muss ich sagen dass die Verwendung der Kompo ziemlich gewöhnungsbedürftig ist, du kannst sie dir aber mal ansehn...

Greetz
alcaeus

gordon freeman 16. Mär 2005 17:31

Re: Comboboxen in einem StringGrid
 
Hab sie mir angeschaut, würde allerdings lieber mit 'nem normalen StringGrid arbeiten. Mein eigentliches Problem ist dabei folgendes:

Wenn ich ein Objekt einer Klasse erstellen will, muss ich es ja auch als Variable deklarieren. WEnn ich jedoch nicht weiß, wie viele Objekte dieser Klasse ich erzeugen will kann ich doch nicht auf gut Dünken erstmal 100 deklarien, falls ich sie brauche?
Da muss es doch eine elegantere Lösung geben, doer? :gruebel:

xineohp 16. Mär 2005 17:40

Re: Comboboxen in einem StringGrid
 
moin,

speicher die Objekte doch in einem dynamischen Array, das kannst du dann bei Bedarf vergrößern/verkleinern.

gordon freeman 16. Mär 2005 17:58

Re: Comboboxen in einem StringGrid
 
Sorry, hab mich gerade erst in das dynamische Erstellen von Objekten eingearbeitet. Könnteste vieleicht etwas Code zeigen, wie so was mit 'nem dynamischen Array voller Objekte aussehen könnte?

xineohp 16. Mär 2005 19:25

Re: Comboboxen in einem StringGrid
 
Deklaration:
Delphi-Quellcode:
var ObjektArray: array of tButton;
zum Erzeugen:
Delphi-Quellcode:
var i: integer;
begin
  setlength( ObjektArray, 5 );
  For i:=0 to length(ObjektArray)-1 do // dyn. Array laufen von 0 bis length()-1
  begin
    ObjektArray[i] := tButton.Create(Form1); // wobei Form1 natürlich auch ein anderer Besitzer sein kann.
    ObjektArray[i].Parent := Form1; // Parent gibt an, welches übergeordnete Objekt für das Neuzeichnen verantwortlich ist. Parent muss man nur bei visuellen Objekten setzen.
  end;
end;
zum Freigeben:
Delphi-Quellcode:
var i: integer;
begin
  For i:=0 to length(ObjektArray)1 do
    ObjektArray[i].Free;
end;

gordon freeman 16. Mär 2005 22:21

Re: Comboboxen in einem StringGrid
 
Danke für die Antwort, werd's morgen mal versuchen zu implementieren :thumb:

ibp 17. Mär 2005 11:26

Re: Comboboxen in einem StringGrid
 
wenn alle comboboxen dieselbe auswahl haben, dann brauchst du ja nur eine zu erstellen und diese dann anzeigen, wenn der usr auf der entsprechenden spalte steht!

gordon freeman 17. Mär 2005 11:33

Re: Comboboxen in einem StringGrid
 
Nur, um Misverständnisse auszuschließen:

Ich soll also eine ComboBox erzeugen und die dann in der entsprechenden Spalte immer dann anzeigen , wenn das OnSelectCell-Ereignis auf diese Spalte weist?

Warum bin ich da nicht drauf gekommen :wall:

Danke für die Idee, werd's heute nachmittag mal ausprobieren!!!

ibp 17. Mär 2005 11:35

Re: Comboboxen in einem StringGrid
 
Zitat:

Zitat von gordon freeman
Ich soll also eine ComboBox erzeugen und die dann in der entsprechenden Spalte immer dann anzeigen , wenn das OnSelectCell-Ereignis auf diese Spalte weist?

... nicht spalte sondern zelle!


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:48 Uhr.
Seite 1 von 2  1 2      

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-2025 by Thomas Breitkreuz