Класс источника данных WinForms Combobox с вложенными элементами - PullRequest
0 голосов
/ 21 марта 2020

У меня есть два класса, получаемые из json запроса

public class User
{
    public string id { get; set; }
    public string name { get; set; }
}

public class PointUser
{
    public int PointUserId { get; set; }
    public string userId { get; set; }
    public User user { get; set; }
    public string notes { get; set; }
}

Я связываю объект списка класса PointUser со списком. Как отобразить поле пользователя подкласса в своем поле со списком?

cmbPointUser.DataSource = ObjListPointUsers;
cmbPointUser.ValueMember = "PointUserId";
cmbPointUser.DisplayMember = "?????"; // fild "name" from sub class User    

1 Ответ

1 голос
/ 21 марта 2020

У вас есть две опции:

1) переопределить метод ToString() в классе PointUser и вернуть вспомогательное свойство User.Name. Не определяйте свойство DisplayMember.

2) создать свойство в классе PointUser и вернуть вспомогательное свойство User.Name. После этого назовите это свойство в DisplayMember.

...