Question

Cela devrait être une tâche assez facile, mais je suis un peu perplexe, j'ai un contrôle LookUpEdit, je l'ai associé à une source de données et je définis correctement displaymember et ValueMenber.

Ce contrôle est maintenant correctement renseigné.

Mon problème, c’est que normalement, je récupère certaines données, puis les "configure" avec l’ID, par exemple:

LookUpEdit.EditValue = [Certains ID de ma base de données]

Cependant, dans ce cas particulier, je n'ai pas accès à l'ID, MAIS j'ai accès à la valeur d'affichage de membre (de la base de données), comment puis-je définir le contrôle LookUpEdit en fonction de la valeur d'affichage seulement?

Était-ce utile?

La solution

Utiliser:

lookUp.EditValue = lookUp.Properties.GetKeyValueByDisplayText(yourDisplayText);

C'est la manière préférée. Utiliser la propriété Text est un peu illogique, comme vous l'avez noté. Cela fonctionne maintenant, mais je ne serais pas surpris si cela cessait de fonctionner après la mise à niveau des assemblys DevExpress.

Autres conseils

Résolu!

Si vous le définissez comme suit:

LookUpEdit .Text = [valeur de chaîne de la base de données]

SI cette valeur de chaîne correspond exactement, alors la propriété editValue (c'est-à-dire l'ID) est également définie correctement sur l'élément que vous avez extrait de la base de données.

Cette propriété 'Text' semble quelque peu illogique (à mon avis, par exemple, ils ont GetDatasourceByName, etc., il serait sûrement logique d'avoir SetItemByName ou quelque chose de similaire!), mais cela fonctionne dans tous les cas.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top