2011-08-17 8 views
0

List<Person>は、Person{Name, age, etc}です。LINQクエリのListBoxデータソース

私が欲しいのは、すべてのPersonの名前を項目として持つListBoxです。 詳細のみ。私はそれが自動的に更新したい。

List<Person>の名前を取得し、ListBoxの名前を取得する動的データソースを作成できるかどうかは、そのデータソースにバインドされているのだろうかと思います。

データソース以外のご提案は歓迎します。 .net4で使用されているLinqDataSourceが見つかりました.Net3.5と同様のものは何ですか?

+1

'LinqDataSource'は.net 3.5で利用できますと思います。 – asawyer

+0

@asawyerそうではありません。 –

+0

これは実際にはWinFormsではなく、です。 – Odys

答えて

0

私はあなたがこれよりも「もっと」何かを探していると信じていますが、私はあなたの質問からそれが何であるかは分かりません。だから私はあなたの目標をさらに説明するためにこのコードを投稿しています。

namespace SO_Forms_Demo 
{ 
    public partial class Form1 : Form 
    { 
     List<person> people; 
     public Form1() 
     { 
     InitializeComponent(); 

     List<string> dataList = new List<string>(){"Moe","Larry","Curly"}; 
     listBox1.DataSource = dataList; 

      people = new List<person>(){new person(){name="Moe",age=44,shoeSize=9}, 
             new person(){name="Larry",age=45,shoeSize=10}, 
             new person(){name="Curly",age=46,shoeSize=11} 
             }; 
      bindList2(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
     person Shemp = new person() { name = "Shemp", age = 49, shoeSize = 12 }; 
     people.Add(Shemp); 
     bindList2(); 
     } 

     private void bindList2() 
     { 
     listBox2.DataSource = null; 
     listBox2.DisplayMember = "name"; 
     listBox2.DataSource = people; 
     } 

    } 

    public class person 
    { 
     public string name { get; set; } 
     public int age { get; set; } 
     public int shoeSize { get; set; } 
    } 


}