Sélection dans la liste d'un cxdblookupcombo

Signaler
Messages postés
72
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
27 décembre 2012
-
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
-
Bonjour,

Dans un projet, j'utilise un cxdblookupcombobox de chez devexpress.
La liste affiche bien les données de mon datasource mais quand je sélectionne un item dans la liste, il ne réagit pas.
Il est aussi impossible de saisir du texte dedans (déjà essayer de changer la propriété DropDownListStyle mais ca change rien).

Pour mon acces au données j'utilise un ADOQuery avec un DataSource.

Merci d'avance,
jéjé

18 réponses

Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
La liste affiche bien les données de mon datasource mais quand je sélectionne un item dans la liste, il ne réagit pas.


Si tu n'as rien programmé, c'est normal...

Il est aussi impossible de saisir du texte dedans
normal, ce compo n'est pas fait pour çà..

cantador
Messages postés
72
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
27 décembre 2012

Pourtant dans leur démo ce compo fonctionne comme un combobox normal (affiche la sélection, sélection sur saisie du texte...) et il n'y a pas de code associé.

Aurais tu un exemple plus simple que leur démo ?

jéjé
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
Tu ne peux pa saisir dans un Tcxdblookupcombobox..
(j'entends du texte libre bien sûr) puisque celui-fait référence à des données dans une autre table (principe du lookup)
La seule chose qui reste néanmoins possible est de faire de la recherche incrémentale (tu frappes une lettre) et le combo se cale.

et sur une sélection, si tu souhaites déclencher une action quelconque, il faut coder sur le OnCloseUp.

cantador
Messages postés
72
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
27 décembre 2012

C'est exactement se que je veux faire, mais quand je frappes une lettre, le combo ne se cale pas.

Ce que je comprend pas c'est que tu me dis qu'il faut coder mais dans leur démo (démo téléchargée sur le site de devexpress) il y a aucun code pour ce compo et le combo se cale bien sur la saisie d'une lettre ou sur la sélection dans la liste. Il y a un truc qui m'échappe.

jéjé
Messages postés
72
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
27 décembre 2012

J'ai trouvé la cause a mon problème.

Ça vient du datasource appelé par le combo, ce datasource est en lecture seule ce qui empêche la sélection dans la liste du combo ainsi que la recherche lors de la frappe d'une lettre.

Mon but est de modifier l'affichage de mes données selon la sélection du combo (la liste du combo est chargé depuis ma table via listesource) donc je ne veux pas modifier une données d'ou mon datasource en lecture seule.

jéjé
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
Ça vient du datasource appelé par le combo, ce datasource est en lecture seule ce qui empêche la sélection dans la liste du combo


rien à voir..
c'est la propriété : IncrementalFiltering qui règle la recherche et qui doit être à true.

Mais comme elle est true par défaut tu dois donc avoir un autre problème de liaison...

cantador
Messages postés
72
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
27 décembre 2012

Pourtant le combo se comporte normalement juste en mettant la propriété ReadOnly de mon datasource a False mais ça modifie mes données....

C'est bizarre !!!

jéjé
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
à voir :
structure des tables et
les propriétés du combo

sinon, je peux te dire que ça marche car j'utilise ce compo depuis plus de 10 ans..

cantador
Messages postés
72
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
27 décembre 2012

Aurais tu un exemple stp ?

Merci d'avance.

jéjé
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
il y un exemple sur le principe du lookup dans :

c:\Program Files\Borland\Delphi7\Demos\Db\MastApp\

voir la forme : EdPartsForm

cantador
Messages postés
72
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
27 décembre 2012

Bonjour,

Je suis de retour avec mon problème qui persiste toujours.
Dans la démo de devexpress, le dblookupcombobox réagir de la même manière, dès qu'on enlève le lien vers un DataSource ou que l'on met le DataSource en lecture seul, il est impossible de sélectionner un items dans la liste.

Est ce normale ? Y a t'il une solution pour faire fonctionner ce composant avec un ListeSource seulement ou vers un datasource en lecture seul ?

Merci d'avance.

jéjé
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
hé, il y a d'autres propriétés à renseigner dans le dblookupcombobox !
regarde bien..
cantador
Messages postés
72
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
27 décembre 2012

Bonjour Cantador,

Après avoir tout essayé, j'ai toujours le même problème.
Donc soit il est impossible d'utiliser ce composant comme je le souhaite, soit j'ai loupé un truc.

Aurais tu un exemple avec un cxDBLookupComboBox fonctionnant avec un ListeSource seulement ou vers un datasource en lecture seul ?

Merci d'avance.
jéjé
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
Non je n'ai d'exemple simple sous le coude que des gros machins...

Les propriétés à renseigner sont :

DataField
DataSource
KeyFieldNames
ListFieldNames
ListSource




cantador
Messages postés
72
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
27 décembre 2012

J'ai renseigner ces propriétés mais mon problème c'est que mon datasource est en lecture seul.

Si je met la propriété readonly de mon datasource a false, tout fonctionne correctement mais ça modifie mes données quand j'effectue une sélection dans mon combo.

Moi je voudrais pouvoir faire une sélection dans mon combo sans que ça modifie mes données, c'est pour cela que j'ai mis la propriété Readonly de mon datasource a true, mais du coup il est impossible d'effectuer une sélection dans le combo.

jéjé
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
Ce n'est pas normal et le fait que tes données soient en lecture seule n'entre pas en ligne de compte dans un Lookup puisqu'à ce niveau il n'y aucune introduction de données dans les tables..

Ah bien sûr, tout dépend ce que tu fais sur le OnCloseUp ou autre évènement..

cantador
Messages postés
72
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
27 décembre 2012

C'est bien ce qui me semble bizarre, en plus je gère aucun événement.

J'insère le composant sur ma form puis je renseigne les propriétés DataField, DataSource, KeyFieldNames, ListFieldNames et ListSource et rien de plus.

jéjé
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
Il peut aussi y avoir une erreur dans la structures des tables...

cantador