Hi Leute,
folgendes Problem: Ich habe eine TPageControl worauf sich einige TTabSheets befinden. Eine davon - nennen wir sie tsKundendat - soll nur zugänglich sein wenn eine bestimmte Bedingung erfüllt ist. Ein anderes TabSheet beherbergt ein TDBGrid mit meinen Adressen. Ein Feld davon ist boolean und heißt Kunde. Wenn dieses Feld Kunde TRUE ist soll tsKundendat zugänglich sein, sonst nicht. Jetzt habe ich dem Ereignis OnDataChange der DataSource des TDBGrid folgendes zugewiesen:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TBeispielForm.srcVonTDBGridDataChange(Sender: TObject; Field: TField); begin if field = nil then {Wenn zu einem anderen Datensatz gewechselt wird} begin if Beispieltabelle.FieldByName('Kunde').asboolean then tsKundendat.tabVisible := true else tsKundendat.tabVisible := false; end; end; |
Das funktioniert auch soweit ganz gut. Nur daß der Inhalt der TabSheet auf der man sich befindet manchmal verschwindet. (Sieht dann so aus als hätte man TabSheet.visible := false auf dem angezeigten TabSheet angewandt.)
Weiß jemand ob das ein Delphi-Problem ist oder ob ich solche "Tab-Sheet-Hide-Aktionen" nicht an das Ereignis OnDataChange einer DataSource hängen darf.
Wäre cool wenn mir jemand helfen könnte.
Gruß
Mike