Affichage de plusieurs colonnes sur LookupEdit de Devexpress
J'ai un DataSource
lié à un LookUpEdit
. Par exemple, j'ai 2 colonnes FirstName
et LastName
et je veux mettre DisplayMember
propriété de ces deux colonnes.
J'ai trouvé que je dois souscrire à lookUp_CustomDisplayText()
et de modifier l'affichage des propriétés de texte comme ceci:
private void lookUpCompanyPerson_CustomDisplayText(object sender, CustomDisplayTextEventArgs e)
{
LookUpEdit edit = sender as LookUpEdit;
if (e.DisplayText != "")
{
e.DisplayText = e.DisplayText + " " + (string)e.Value;
}
}
mais je ne comprenais pas ce e.Value
est et je veux afficher une autre colonne pour une ligne sélectionnée, pas la valuemember de la ligne sélectionnée.
C'est la façon dont je la lie de la source de données à lookupedit:
private void populateComboBoxForCompanyPerson()
{
lookUpCompanyPerson.Properties.ForceInitialize();
bs = new BindingSource(myDataSet, "CompanyPerson");
lookUpCompanyPerson.Properties.DataSource = bs;
lookUpCompanyPerson.Properties.DisplayMember = "CompanyName";
lookUpCompanyPerson.Properties.ValueMember = "PersonID";
this.lookUpCompanyPerson.Properties.Columns.Add(new LookUpColumnInfo("PersonID"));
this.lookUpCompanyPerson.Properties.Columns["PersonID"].Visible = false;
this.lookUpCompanyPerson.Properties.Columns.Add(new LookUpColumnInfo("FirstName"));
this.lookUpCompanyPerson.Properties.Columns.Add(new LookUpColumnInfo("LastName"));
this.lookUpCompanyPerson.Properties.Columns.Add(new LookUpColumnInfo("CompanyName"));
}
Et c'est ce que ma source de données ressemble à:
- Vous devriez probablement mettre la méthode complète. C'est un gestionnaire d'événements droite?
- Oui, j'ai édité le post.
- Ok merci je pense que pour aller plus loin, j'avais besoin de voir ce que votre source de données est et comment il est lié à la LookUpEdit.
- Bon j'ai édité de nouveau.
Vous devez vous connecter pour publier un commentaire.
De DevExpress documentation:
e.Value
obtient ou définit l'éditeur valeur actuelle.e.DisplayText
obtient ou définit un éditeur de texte de l'écranVous souhaitez définir le
e.Value
à la valeur que vous souhaitez afficher dans le contrôle.Enfin, voici quelques pages avec plus de documentation:
public partial class myDataSet: global::System.Data.DataSet
J'ai changé Ian O'Brien du code un peu et ça fonctionne:
je dois l'utiliser, juste comme ça,
C'est la façon dont il fonctionne avec LookupEditControl dans la Version 15.2.7 et une Classe: