Как привязать к строчкам ListBox свои данные?

109
18 сентября 2019, 14:20

Как привязать к строчкам ListBox свои данные? Например, какой-нить свой класс DataRec?

Answer 1

как-то так:

List<DataRec> records = new List<DataRec>();
ListBoxInstanceName.DataSource = records;
Answer 2

Лучше всего использовать BindingSource. У него есть ряд полезных свойств и методов. Например в свойстве Current будет выбранный элемент в списке или датагридвью. Использовать можно так

private BindingSource _bsPeople = new BindingSource();
public MainForm()
{
    InitializeComponent();
    //привязки
    SetBindings();
    //загрузка данных
    LoadData();
}
/// <summary>
/// Установка привязок
/// </summary>
private void SetBindings()
{
    _bsPeople.DataSource = typeof(List<Person>);
    listBoxPeople.DataSource = _bsPeople;
}
/// <summary>
/// Загрузка данных
/// </summary>
private void LoadData()
{
    //получаем список людей из БД
    List<Person> people = Program.Context.GetPeople();
    _bsPeople.Clear();
    people.ForEach(p => _bsPeople.Add(p));
}
READ ALSO
Какие классы в C# нельзя наследовать?

Какие классы в C# нельзя наследовать?

Запечатанные классы точно нельзя наследоватьЕсть ли еще какие-то варианты?

138
Работа с Epub при помощи EpubSharp C#

Работа с Epub при помощи EpubSharp C#

Использую бибиблиотеку EpubSharp для того, чтобы сохранить имеющийся текст в форматеepub

120
Крипто про. Видимая подпись PDF

Крипто про. Видимая подпись PDF

Небольшая проблема с созданием ЭЦП подписи по Госту с использование сертификата

148