我想从我的Sql数据库中至少显示两列,如FirstName和Lastname作为DisplayMember,将用户名显示为ValueMember。我尝试过这种方法,但是没有用。它仅适用于一个字段,但如果我想同时显示名字和姓氏,则无法使用。
public void Employees()
{
db = new DbEntities();
var emp = (from u in db.Users
select u).ToList();
cmbEmployee.DisplayMember = "FirstName" +" " + " LastName";
cmbEmployee.ValueMember = "UserName";
cmbEmployee.DataSource = emp;
}
答案 0 :(得分:1)
只需在您的linq查询中加入名字和姓氏即可:
var emp = db.Users.Select(x=> $"{x.FirstName} {x.LastName}").ToList();
cmbEmployee.DataSource = emp;
编辑(考虑您的评论):
var emp = db.Users.Select(x=> new {
Display = x.FirstName + " " + x.LastName,
Value = x.UserName}).ToList();
cmbEmployee.DisplayMember = "Display";
cmbEmployee.ValueMember = "Value";
cmbEmployee.DataSource = emp;
答案 1 :(得分:0)
如果您可以修改User
类,则有两个选择:
1)覆盖ToString
方法,并且不要指定DisplayMember
:
public override string ToString()
{
return FirstName + " " + LastName;
}
2)提供一个属性(例如FirstAndLast
)并将其设置为您的DisplayMember
:
public string FirstAndLast { get => FirstName + " " + LastName; }