Привязать значения из массива списка к списку - PullRequest
3 голосов
/ 25 ноября 2010

Может ли любое тело привести короткий пример для привязки значения из массива списка к списку в c # .net

1 Ответ

13 голосов
/ 25 ноября 2010

Это зависит от того, каков ваш массив списков.

Давайте начнем с простого примера:

List<string> listToBind = new List<string> { "AA", "BB", "CC" };
this.listBox1.DataSource = listToBind;

Здесь у нас есть список строк, которые будут отображаться как элементы вlistbox.

alt text

В противном случае, если ваши элементы списка более сложные (например, пользовательские классы), вы можете сделать это следующим образом:

Имея, например, MyClass определяется следующим образом:

public class MyClass
{
    public int Id { get; set; }
    public string Text { get; set; }
    public MyClass(int id, string text)
    {
        this.Id = id;
        this.Text = text;
    }
}

вот обязательная часть:

List<MyClass> listToBind = new List<MyClass> { new MyClass(1, "One"), new MyClass(2, "Two") };
this.listBox1.DisplayMember = "Text";
this.listBox1.ValueMember = "Id"; // optional depending on your needs
this.listBox1.DataSource = listToBind;

И вы получите список, в котором будет отображаться только текст ваших предметов.Установка также ValueMember для определенного свойства вашего класса приведет к listBox1.SelectedValue, содержащему выбранное значение Id вместо всего экземпляра класса.

NB
Позволяя DisplayMember сбрасывать, вы получитеToString() результат ваших записей списка в качестве отображаемого текста ваших ListBox элементов.

alt text

...