У меня есть winform со списком с источником данных списка структуры, где структура:
public struct MakerRecord
{
public int MakerID { get; set; }
public String MakerName { get; set; }
public MakerRecord(int ID, String Name)
{
MakerID = ID;
MakerName = Name;
}
}
и listbox.ValueMember = "MakerID" и listbox.DisplayMember = "MakerName"
Пользователь может либо выбрать элемент, и текст (например, MakerName) загружается в текстовое поле, где его можно редактировать, либо нажать кнопку «Добавить» и получить пустое текстовое поле.
После внесения изменений в текстовое поле,Пользователь нажимает кнопку Сохранить, и запись сохраняется в Базе данных, и список обновляется, что устанавливает SelectedIndex = -1.
Все хорошо.
Но я хочу поместить список обратно в запись, которая была отредактирована (или добавлена), и все, что у меня есть, это MakerID из операции db.Итак, как я могу установить SelectedIndex только из значения элемента?
Установка SelectedValue (т. Е. Lstbox.SelectedValue = MakerID) не влияет на SelectedIndex естественным образом.