Toon posts:

[C++ Builder] Meerde items in mijn combobox*

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een DataSource, Query en een DBCombobox. Die heb ik aan elkaar geknoopt.

Ik krijg nu alleen eerste waarde uit mijn DB te zien in de DBComboBox. Ter controle heb ik aan de DataSource en de Query een DBGrid gekoppeld en deze laat wel netjes alles zien.

Waarom zie ik in mijn combobox alleen de eerste waarde uit de DB?

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Hum ja, dit is een vreemd probleem.
'k Heb het in Delphi ook al eens gehad. Het rare is, dat ik dat bij andere TQuery, TDataSource, TComboBox (die ik aan elkaar geknoopt had) niet had.

Wellicht een undocumented feature

https://fgheysels.github.io/


  • Sircuri
  • Registratie: Oktober 2001
  • Niet online

Sircuri

Volledig Appelig

Ja, dit is heel duidelijk. Wat heb je nou precies? hoe ziet het er uit? misschien een stukje code ofzo.. een stukje van je query misschien? Show something :P

Signature van nature


Verwijderd

Topicstarter
Ik heb de DataSource aan de Query gekoppeld de Query aan de DB en de ComboBox aan de DataSource. Voor de ComboBox heb ik het juiste veld opgegeven. Verder heb ik niets aan de standaard instellingen veranderd. Ik zelf heb ook nog geen code geschreven die hier iets mee te maken heeft. Mijn Query ziet er als volgt uit:

SELECT Zoeknaam FROM RECHTS_PERS

Is toch wel redelijk syntactiesch in orde dacht ik.

Maar ik krijg alleen de eerste waarde uit de DB te zien terwijl er wel degelijk meerdere in staan.

Wat gaat er mis?

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Verwijderd schreef op 20 augustus 2002 @ 10:18:
Ik heb de DataSource aan de Query gekoppeld de Query aan de DB en de ComboBox aan de DataSource. Voor de ComboBox heb ik het juiste veld opgegeven. Verder heb ik niets aan de standaard instellingen veranderd. Ik zelf heb ook nog geen code geschreven die hier iets mee te maken heeft. Mijn Query ziet er als volgt uit:

SELECT Zoeknaam FROM RECHTS_PERS

Is toch wel redelijk syntactiesch in orde dacht ik.

Maar ik krijg alleen de eerste waarde uit de DB te zien terwijl er wel degelijk meerdere in staan.

Wat gaat er mis?

Geen idee.... Heb het ook al eens gehad....
Het rare is, dat die query wel degelijk alle records ophaalt.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Kan het iets te maken hebben met de SQL DB die ik hiervoor gebruik?

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Verwijderd schreef op 20 augustus 2002 @ 10:31:
Kan het iets te maken hebben met de SQL DB die ik hiervoor gebruik?


Ik denk het niet.... Ik heb het eens gehad in een programma, terwijl ik in datzelfde programma ook een andere query/combobox had en daar lukte het wel. 't Is een vreemd probleem, maar ik had geen zin om het verder uit te zoeken.
Misschien vind je op de nieuwsgroepen van Borland iets meer? (En als je iets vind, dan mag je de link/verklaring/oplossing/whatever hier ook posten natuurlijk :) )

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op 20 augustus 2002 @ 10:33:
Misschien vind je op de nieuwsgroepen van Borland iets meer? (En als je iets vind, dan mag je de link/verklaring/oplossing/whatever hier ook posten natuurlijk :) )
Ok, ik zal eens verder zoeken. En mocht ik wat vinden laat ik dat weten.

Maar als andere mensen toevallig een oplossing voor mijn probleem hebben mogen ze die natuurlijk posten. :)

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Wat voor combox gebruik je precies? TDBDBComboBox of TDBLookupComboBox?

Beide zijn voor het geven van een keuze lijst. De keuze die de gebruiker maakt wordt in het DataField gezet.

De waarden van de keuze lijst (waar de gebruiker dus uit mag kiezen) wordt bij een TDBCombobox niet automatisch gevuld. Dat moet je dus zelf doen. En dus zie je maar 1 waarde. Een TDBLookupComboBox kan die keuze lijst vullen vanuit een andere tabel (ListSource/Field).

Dat is wat er mist bij jouw denk ik.

We adore chaos because we like to restore order - M.C. Escher


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
LordLarry schreef op 20 augustus 2002 @ 11:40:
Wat voor combox gebruik je precies? TDBDBComboBox of TDBLookupComboBox?

Beide zijn voor het geven van een keuze lijst. De keuze die de gebruiker maakt wordt in het DataField gezet.

De waarden van de keuze lijst (waar de gebruiker dus uit mag kiezen) wordt bij een TDBCombobox niet automatisch gevuld. Dat moet je dus zelf doen. En dus zie je maar 1 waarde. Een TDBLookupComboBox kan die keuze lijst vullen vanuit een andere tabel (ListSource/Field).

Dat is wat er mist bij jouw denk ik.


Hoe bedoel je precies?
Een TDBComboBox kan toch in z'n keuze lijst alle waardes/records laten zien van de query die erachter hangt?
Als je nu volgende query erachter hangt:
[code]
SELECT tblWaarde.WaardeId, tblWaarde.WaardeCode
FROM tblWaarde
[/code]

Dan moet je toch normaal in de selectielist van die ComboBox alle WaardeCode's van tblWaarde kunnen zien, als je DataSource property ingevuld is met de TDataSource die aan die query verbonden is en het DataField WaardeCode is?

He, damn, je hebt gelijk.
Identifies the field from which the combo box displays data.

property DataField: String;

Description

Set DataField to specify which field is represented by the combo box. (Note that this is does not refer to the source of the list, but to the field into which the selected value is inserted. The list values must be supplied manually using the Items property.) The combo box displays the current value of this field, and allows the user to set the value of this field on the current record. The dataset the field is located in is specified by the DataSource property.
Je kunt dus beter een TDBLookUpComboBox gebruiken.... :+

* whoami maakt meestal geen gebruik van data-aware controls, vandaar...

https://fgheysels.github.io/


Verwijderd

Topicstarter
LordLarry schreef op 20 augustus 2002 @ 11:40:
Wat voor combox gebruik je precies? TDBDBComboBox of TDBLookupComboBox?

Beide zijn voor het geven van een keuze lijst. De keuze die de gebruiker maakt wordt in het DataField gezet.

De waarden van de keuze lijst (waar de gebruiker dus uit mag kiezen) wordt bij een TDBCombobox niet automatisch gevuld. Dat moet je dus zelf doen. En dus zie je maar 1 waarde. Een TDBLookupComboBox kan die keuze lijst vullen vanuit een andere tabel (ListSource/Field).

Dat is wat er mist bij jouw denk ik.
Het driehoekje van mijn TDBLookupComboBox blijft grijs. Ik kom niet zo wijs uit de ListFields en ListSource vs. DataFields en DataSource. Welke moet ik nu invullen?

[ Voor 0% gewijzigd door Verwijderd op 20-08-2002 14:10 . Reden: tikfout ]


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

DataField is het veld uit DataSource waar je een waarde voor wilt kiezen.

ListField is het veld uit ListSource die je wilt laten zien aan de gebruiker om uit te kiezen.
KeyField is het veld uit ListSource die je uiteindelijk in DataField wilt opslaan als de gebruiker heeft gekozen.

We adore chaos because we like to restore order - M.C. Escher


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Knien001: dit vind je wel allemaal terug in de help hoor. Sta op de desbetreffende property in de object inspector en druk op F1.

Het driehoekje blijft grijs omdat de dataset van de listsource niet geopend is.

https://fgheysels.github.io/


Verwijderd

Topicstarter
He he, het werkt. Bedankt voor de tips. :)
Pagina: 1