У меня есть список настраиваемых объектов, которые состоят из настраиваемого списка.
class person{
string name;
int age;
List<friend> allMyFriends;
}
class friend{
string name;
string address;
}
Я пытаюсь привязать список этих объектов к GridView, и сетка должна создать для каждого друга столбец и записать в него имя. Если у некоторых людей одинаковые границы, сетка не должна создавать отдельный столбец, а должна использовать существующую. Если вы понимаете, о чем я. (Классы - это всего лишь несколько примеров классов для упрощения моего случая)
Есть ли способ динамически настроить привязку?
Я могу изменить определения классов и так далее, если им нужно унаследовать от некоторых интерфейсов или так далее.
Я много гуглил, но, похоже, ни один пример не охватил этот случай.
Может ли использование objectSourceControl каким-либо образом решить мою проблему?
Обновлять:
Чтобы дать некоторую дополнительную информацию: в конце концов, у меня есть список людей, в то время как у каждого человека в списке есть список друзей.
List<person> allPerson = new List<person>();
// fill the list
Grid.DataSource = allPerson;
Grid.DataBind()
В таблице должны быть столбцы для каждого друга, а в строках - человек. Если у человека есть друг, в сетку нужно поставить крест (или что-то еще).
friend1 friend2
x peter
x x adam
На данный момент перехватывается событие RowDataBound, и поскольку привязка создает только строки с именами, а не столбцы, потому что единственным свойством моего объекта person является имя. Есть ли способ заставить привязку просматривать свойство списка в объектах человека и создавать столбец для каждого из них.