c#:如何从 linq 查询中设置组合框值成员

标签 c# linq datasource valuemember

好的,所以我有组合框,其数据源是 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";

我遇到的问题是当我尝试添加下一行代码时

cboQASupervisor.ValueMember = "ID";

我在运行时遇到错误,它无法转换匿名类型。我该如何解决这个问题?

更正: 错误是:

Cannot bind to the new value member. Parameter name: value

最佳答案

您将 ID 指定为值字段,但您的匿名类型中没有 ID 属性。
假设您的 LUT_Employees 对象中有 ID:

var qaNames = (
    from a in db.LUT_Employees
    where a.position == "Supervisor" && a.department == "Quality Assurance"
    select new { a.ID, Names = a.lastName + ", " + a.firstName })
    .ToList();

cboQASupervisor.DataSource = qaNames;
cboQASupervisor.DisplayMember = "Names";
cboQASupervisor.ValueMember = "ID";

关于c#:如何从 linq 查询中设置组合框值成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6039501/

相关文章:

c# - 如何在 C# 中加入两条路径?

c# - 如何更改 Sitecore 登录页面上的消息?

c# - 与 Entity Framework 的非键关联

vb.net - 如何在 CheckBox Click 上刷新绑定(bind)的 DataGridView

java - 更好地理解 XA 数据源

c# - AWS 环境中的 WCF UserNameTransport 错误 - 收到不安全或不正确保护的故障

c# - 如何从列表列表创建新列表,其中元素在新列表中的顺序不同?

c# - 在 C++ 中是否有与 LINQ 相对于数据表的等价物?

c# - 如何使用 LINQ 从 List<int> 中获取最接近的数字?

c# - dataGridView1 连接到我的通用列表?