Einzelnen Beitrag anzeigen

Benutzerbild von cs.rumpelstilzchen
cs.rumpelstilzchen

Registriert seit: 16. Sep 2004
Ort: NRW
72 Beiträge
 
Delphi XE4 Professional
 
#1

ComboBox in StringGrid: OnExit geht, OnChange geht nicht!!??

  Alt 16. Sep 2004, 10:08
Hallo Leute! Ich bin neu hier und bitte um Nachsicht falls ich was verkehrt mache.

Zum Thema:

Ich progge gerade einen Abfrage-Editor für eine Datenbank. Die Abfragefelder habe ich als ComboBoxen zur Laufzeit erzeugt und den Grid-Zellen einer StringGrid (Name: SqlGrid) zugeordnet.

Code:
      MyFeld[iIdx] := TComboBox.Create(Self);
      MyFeld[iIdx].ItemHeight := SqlGrid.RowHeights[iIdx + 1];
      MyFeld[iIdx].Font := SqlGrid.Font;
      MyFeld[iIdx].BoundsRect := SqlGrid.CellRect(SQL_GRID_FELD,iIdx + 1);
      MyFeld[iIdx].Parent := SqlGrid;
      MyFeld[iIdx].Items := FeldStrings;
      MyFeld[iIdx].Style :=csDropDownList;
      MyFeld[iIdx].AutoCloseUp := true;
      MyFeld[iIdx].OnExit := MyFeldComboBoxExit;
      SqlGrid.Objects[SQL_GRID_FELD,iIdx + 1] := MyFeld[iIdx];
      MyFeld[iIdx].BringToFront;
procedure TDk32BstSqlComposerWnd.MyFeldComboBoxExit(Sender: TObject); Funktioniert soweit prima... aber:

Ich möchte die Inhalte der ComboBoxen in einer Zeile voneinander abhängig machen, d.h. zu einem gewählten Datenbankfeld auch nur sinnvolle Inhalte anbieten.
Dazu habe ich eine Ereignisprozedur geschrieben und diese an die entsprechenden ComboBoxen dem Ereignis OnExit zugewiesen. Auch das funktioniert prima, aber...
... eigentlich wollte ich das Ereignis OnChange benutzen!

   MyFeld[iIdx].OnChange := MyFeldComboBoxExit; Das funzt aber nicht! Es scheint, als würde das Ereignis gar nicht ausgelöst!
Testweise habe ich das ganze mal mit einer ComboBox im Formular ausprobiert, da geht das!

Es scheint also nur innerhalb einer StringGrid nicht zu gehen !!

Kann jemand helfen?
Der weiß, daß er nichts weiß, wie alle anderen auch nichts wissen.
Nur weiß er, was die anderen und auch er selbst noch lernen müssen.
(Novalis 1772 - 1801)
  Mit Zitat antworten Zitat