2016-05-10 7 views
0

2つのテーブルを結合した後、私は、ユーザーの名前とFIRST_NAMEを表示したい:表示する2つ以上のdisplaymembersを

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}

私の問題は、リストボックスに多くのdisplaymembersを表示する方法です! 私を助けていただきありがとうございます。

答えて

0

クラスオブジェクトに、正しい文字列を返すカスタムプロパティを作成します。

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

あなたにも

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

バインドDisplayMemberプロパティにこのプロパティをLINQ新しい構文では、このプロパティを作成することができます。

listBox_map.DisplayMember = "ListBoxItemDisplayText";

+0

素晴らしいアイディア!ありがとう:D –

関連する問題