Что надлежащий путь состоит в том, чтобы загрузить ListBox?

26
задан Amy 1 July 2013 в 14:53
поделиться

6 ответов

Простой пример кода. Скажите, что Вы имеете Person класс с 3 свойствами. FirstName, LastName и Age. Скажите, что Вы хотите связать свое поле списка с набором Person объекты. Вы хотите, чтобы дисплей показал имя, но значение, чтобы быть возрастом. Вот то, как Вы сделали бы это:

List<Person> people = new List<Person>();
people.Add(new Person { Age = 25, FirstName = "Alex", LastName = "Johnson" });
people.Add(new Person { Age = 23, FirstName = "Jack", LastName = "Jones" });
people.Add(new Person { Age = 35, FirstName = "Mike", LastName = "Williams" });
people.Add(new Person { Age = 25, FirstName = "Gill", LastName = "JAckson" });
this.listBox1.DataSource = people;
this.listBox1.DisplayMember = "FirstName";
this.listBox1.ValueMember = "Age";

прием эти DisplayMember, и ValueMember.

67
ответ дан Sergii Zhevzhyk 28 November 2019 в 06:14
поделиться

Вы можете связывать Таблицу данных непосредственно...

listbox.ValueMember = "your_id_field";
listbox.DisplayMember = "your_display_field";
listbox.DataSource = dataTable;
6
ответ дан Aaron Palmer 28 November 2019 в 06:14
поделиться

Позволяет предполагают, что Ваш тип данных называют MyDataType. Реализуйте ToString () на том типе данных для определения текста дисплея. например:

class MyDataType
{
  public string ToString()
  {
    //return the text you want to display
  }
}

Тогда можно взять список, состоящий из типа данных, и переполнить его в ListBox через AddRange () следующим образом:

ListBox l;
List<MyDataType> myItems = new List<MyDataType>(); // populate this however you like
l.AddRange(myItems.ToArray());

Сообщенный мне, если бы Вы нуждаетесь в большем количестве помощи - она помогла бы знать, какой тип данных Вы пытаетесь отобразить в поле списка.

5
ответ дан Jason Sundram 28 November 2019 в 06:14
поделиться

Можно установить источник данных на любой источник данных, Вам нравится этот, реализует IList или IListSource.

необходимо будет также установить DisplayMember и свойства ValueMember к полям, с которыми Вы хотите отобразить и связать значения соответственно.

3
ответ дан JamesSugrue 28 November 2019 в 06:14
поделиться

Используя парамать DataSource, используемую для всасывания мудрой производительности - на ComboBoxes, по крайней мере,

, я теперь в большой степени тренируюсь для переопределения ToString () на объекте и просто добавлении объектов с помощью Объектов. AddRange () метод, как другой комментатор выше описывает.

1
ответ дан Gus Paul 28 November 2019 в 06:14
поделиться

Для привязки со словарем, необходимо обернуть его в новый объект BindingSource.

MyListBox.DataSource = New BindingSource(Dict, Nothing)
MyListBox.DisplayMember = "Value"
MyListBox.ValueMember = "Key"
1
ответ дан user39369 28 November 2019 в 06:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: