Источник данных ListBox из запроса LINQ - PullRequest
0 голосов
/ 17 августа 2011

Допустим, есть List<Person>, где Person{Name, age, etc}.

. Я хочу получить ListBox со всеми именами людей в качестве элементов.Только деталь.Я хочу, чтобы он обновлялся автоматически.

Интересно, возможно ли создать динамический источник данных, который получает имена List<Person>, а затем ListBox привязывается к этому источнику данных.

Любые предложения, кроме использования источника данных, приветствуются.Я нашел LinqDataSource , который используется в .net 4. Что-нибудь похожее на .Net3.5?

1 Ответ

0 голосов
/ 17 августа 2011

Я верю, что вы ищете что-то «большее», чем это, но я не уверен из вашего вопроса, что это такое. Поэтому я публикую этот код для вас, чтобы объяснить вашу цель

    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; }
   }


}
...