![]() |
Combobox aus verschiedenen Quellen füllen?
hallo zusammen, ich fülle eine Combobox folgendermassen:
Delphi-Quellcode:
und lese sie so aus:
self.kdCombobox1.Items.AddObject(Tlisteninhalt(Fkundenlist.items[i]).Bezeichnung, Tlisteninhalt(Fkundenlist.items[i]));
Delphi-Quellcode:
wie kann ich einen zusätzlichen Eintrag "ALLE" hinzufügen und auslesen, damit es dem Anwender möglich ist eben _ALLE_ KundenDS auszuwählen, ohne in der Kundentabelle einen solchen Eintrag zu hinterlegen?fauftragkd_id:= Tkunde(self.kdCombobox1.Items.Objects[self.kdCombobox1.ItemIndex]).KUNDEN_ID ; Danke euch Gruss Kh |
Re: Combobox aus verschiedenen Quellen füllen?
Füllen ergänzen um:
Delphi-Quellcode:
Auslesen:
self.kdCombobox1.Items.AddObject('Alle', nil);
Delphi-Quellcode:
Obj := self.kdCombobox1.Items.Objects[self.kdCombobox1.ItemIndex]
if Assigned(Obj) then fauftragkd_id:= (obj as Tkunde).KUNDEN_ID; else // Fall "Alle" |
Re: Combobox aus verschiedenen Quellen füllen?
danke dir, das ging ja rasend schnell :-)
Gruss Kh |
Re: Combobox aus verschiedenen Quellen füllen?
klappt leider noch nicht ganz:-(
bei
Delphi-Quellcode:
bekomme ich error 219 ungültige Typumwandlung
Obj := self.kdCombobox1.Items.Objects[self.kdCombobox1.ItemIndex] ;
if Assigned(Obj) then fauftragkd_id:= (obj as Tkunde).KUNDEN_ID Obj habe ich als Tobject definiert. was mache ich noch falsch? Gruss KH |
Re: Combobox aus verschiedenen Quellen füllen?
Zitat:
Delphi-Quellcode:
Was jetzt, TKunde oder TObject ? Oder von irgendwas abgeleitet ? :gruebel:
fauftragkd_id:= (obj as Tkunde).KUNDEN_ID
|
Re: Combobox aus verschiedenen Quellen füllen?
Zitat:
Delphi-Quellcode:
nimmst du zum "reinlegen" und verwendest da wieder einen harten Cast. Dann müsstest du mit
Tlisteninhalt(Fkundenlist.items[i])
Delphi-Quellcode:
es abfragen können.
fauftragkd_id:= (obj as Tlisteninhalt).KUNDEN_ID
Die frage ist ob Fkundenlist.items[i] vom Typ Tlisteninhalt ist oder du nur per Harten Cast komische verrenkungen machst :gruebel: |
Re: Combobox aus verschiedenen Quellen füllen?
Zitat:
wenn ich obj als Tkunde definiere bekomme ich hier:
Delphi-Quellcode:
Error: Incompatible types: got "TObject" expected "TKunde"
Obj := self.kdCombobox1.Items.Objects[self.kdCombobox1.ItemIndex] ;
ich habs jetzt so gemacht, dass ich
Delphi-Quellcode:
die Typumwandlung durch die bisherige zuweisung ersetzt habe.
Obj := self.kdCombobox1.Items.Objects[self.kdCombobox1.ItemIndex] ;
if Assigned(Obj) then // fauftragkd_id:= (obj as Tkunde).KUNDEN_ID fauftragkd_id:= Tkunde(self.kdCombobox1.Items.Objects[self.kdCombobox1.ItemIndex]).KUNDEN_ID else begin So funktionierts denn auch :-) Aber was da jetzt nicht gepasst hat, habe ich noch nicht kapiert :-( Gruss Kh |
Re: Combobox aus verschiedenen Quellen füllen?
Das müsste doch auch so gehen (obj ist als TKunde deklariert):
Delphi-Quellcode:
Obj := self.kdCombobox1.Items.Objects[self.kdCombobox1.ItemIndex] as TKunde;
if Assigned(Obj) then fauftragkd_id:= obj.KUNDEN_ID else begin |
Re: Combobox aus verschiedenen Quellen füllen?
Zitat:
Delphi-Quellcode:
Error: Incompatible types: got "TObject" expected "TKunde"
Obj := self.kdCombobox1.Items.Objects[self.kdCombobox1.ItemIndex] ;
:-( |
Re: Combobox aus verschiedenen Quellen füllen?
Deshalb ja auch mein Softcast (as TKunde).
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:26 Uhr. |
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 by Thomas Breitkreuz