c#: comment définir la zone de liste déroulante valuemember de requête linq
ok, donc j'ai combobox dont la source de données sont les résultats d'une requête linq
//load QA names
var qaNames =
from a in db.LUT_Employees
where a.position == "Supervisor" && a.department == "Quality Assurance"
select new { a, Names = a.lastName + ", " + a.firstName };
cboQASupervisor.DataSource = qaNames;
cboQASupervisor.DisplayMember = "Names";
Le problème im est lorsque j'essaie d'ajouter la ligne de code suivante
cboQASupervisor.ValueMember = "ID";
J'obtiens une erreur au runtime que il ne pouvait pas lancer le type anonyme. Comment puis-je résoudre ce problème?
Correction:
L'erreur est:
Ne peut pas se lier à la valeur à neuf membres.
Nom du paramètre: valeur
Vous devez vous connecter pour publier un commentaire.
Vous spécifiez l'ID que le champ de valeur, mais vous n'avez pas d'ID de propriété dans votre type anonyme.
En supposant que vous avez des ID dans votre LUT_Employees objet:
ToList()
code permet de vous lier à la source de votre zone de liste modifiable, votre exception est juste un secondaire. Juste essayer de retirer laToList()
code et vous comprendrez clairement.Vous pouvez essayer ceci:
Ajouter
.ToList()
à votre code dans la source de données en ligne..ToList()
?