Reputation: 535
I want to show at least two column like FirstName and Lastname as DisplayMember and username as ValueMember from my Sql database. I tried like this but not working. It's working only with one field, but not if I want to show both Firstname and Lastname.
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;
}
Upvotes: 3
Views: 908
Reputation: 34152
Just join firstname and lastname in you linq query:
var emp = db.Users.Select(x=> $"{x.FirstName} {x.LastName}").ToList();
cmbEmployee.DataSource = emp;
Edit (considering your comment):
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;
Upvotes: 1
Reputation: 4385
If you can modify the User
class you have two options:
1) Override the ToString
method and don't specify a DisplayMember
:
public override string ToString()
{
return FirstName + " " + LastName;
}
2) Provide a property (e.g FirstAndLast
) and set that as your DisplayMember
:
public string FirstAndLast { get => FirstName + " " + LastName; }
Upvotes: 0