C# Как отобразить список объектов, каждый из которых имеет другой объект в качестве свойства, в представлении datagridviC#

Место общения программистов C#
Ответить
Anonymous
 C# Как отобразить список объектов, каждый из которых имеет другой объект в качестве свойства, в представлении datagridvi

Сообщение Anonymous »

Итак, сейчас у меня есть два объекта.
Объект A

Код: Выделить всё

public class Person
{

public string FirstName { get; set; }
public string LastName { get; set; }
public Pet MyPet  { get; set; }
}
и Объект Б

Код: Выделить всё

public class Pet
{
public string Name { get; set; }
public string Animal  { get; set; }
}
Итак, я создал 2 объекта Person и 2 объекта Pet.

Код: Выделить всё

Pet myDog = new Pet("Fluffy", "Dog");
Person A = new Person("John", "Smith", myDog);
Pet myCat = new Pet("Furball", "Cat");
Person B = new Person("Jane", "Doe", myCat);
Затем я добавил Person A и Person B в список объектов Person и сделал список источником данных для моей сетки данных.
результаты были не такими, как хотелось. Таблица данных автоматически заполнила столбцы «Имя», «Фамилия» и «Мой питомец» вместо включения «Имя» и «Животное». Кроме того, хотя в столбцах «Имя» и «Фамилия» правильно отображались имена обоих людей, в MyPet не отображался TestDemo.Pet, а не имя объекта, имя или животное.
Поэтому я сделал кое-что покопался и использовал дизайнер, чтобы добавить сами столбцы и сделать их DataPropertyName соответствующими тому, как они были названы в классе. Хотя для объекта Person они заполнились правильно (я даже поменял местами их имена и фамилии, и это работает), столбцы для домашних животных не работали.
Поэтому я мне интересно, почему это так?
Кроме того, есть ли способ сделать столбцы сортируемыми?

Подробнее здесь: https://stackoverflow.com/questions/781 ... -object-as
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»