在绑定列表框中显示两个或更多显示成员

时间:2016-05-10 13:31:36

标签: c# winforms listbox

连接两个表后,我想显示名称和用户的first_name:

string name_p = list_profiles.Text;
int id_profile;
var profile = SundicappEntities.Instance.users_profiles.First(u => u.name_p== name_p);
id_profile = profile.id_profile;

var q = 
     from user in SundicappEntities.Instance.users
     join map in SundicappEntities.Instance.user_profile_map on user.id_user equals map.id_user 
     where map.id_profile==id_profile
     select new
     {
         user.name_user,
         user.f_name_user               
     };

usersBindingSource1.DataSource = q.ToList();
listBox_map.DataSource = usersBindingSource1;
listBox_map.DisplayMember = "name_user"+" " + "f_name_user";

它返回正确的数据,但它显示如下:

  

{name_user = xxxx.f_name_user = YYYY}

我的问题是如何在列表框中显示许多显示成员! 谢谢你帮助我。

1 个答案:

答案 0 :(得分:0)

在类对象中创建一个自定义属性,返回正确的字符串。

public string ListBoxItemDisplayText
{
    get
    {
         return name_user + " " + f_name_user ;
    }
}

您也可以在linq new构造中创建此属性

select new
      {
         ListBoxItemDisplayText = user.name_user + " " + user.f_name_user     
      };

将此属性绑定到DisplayMember属性。

listBox_map.DisplayMember = "ListBoxItemDisplayText";