Решение: Спасибо за Никиту Мариносян. Он нашел решение здесь
У меня есть документ Excel. Есть столбцы, такие как факс, электронная почта, номер и так далее.
В программе у меня есть класс Contact
public class Contact
{
private List<long> phones;
private List<long> faxes;
private List<string> email;
private List<string> webSite;
public string PhoneStr
{
get
{
string s = "";
for (int i = 0; i Phones.Count; i++)
{
;
s += Phones[i];
}
return s;
}
}
public List<long> Phones
{
get
{
return phones;
}
private set { phones = value; }
}
}
и то же самое для факсов, электронной почты и веб-сайта.
Так что вы можете видеть, какие свойства у меня есть здесь. Также у меня есть класс Hotel
public class Hotel
{
private Adress adress;
private Adress legalAdress;
private Contact contacts;
public Hotel(Adress adress, Adress legalAdress,
string phone, string fax, string email, string webSite, string geo)
{
this.Geo1 = new Geo(geo);
this.adress = adress;
this.LegalAdress = legalAdress;
Contacts = new Contact(phone, fax, email, webSite);
}
public Contact Contacts
{
get { return contacts; }
set { contacts = value; }
}
Теперь я хочу как-то представить этот класс Hotel в DataGridView Итак, у меня есть это.
BindingList<Hotel> bl=new BindingList<Hotel>();
после этого я просто заполняю bl
и привязываю его к datagridview:
dataGridView1.DataSource = bl;
Очевидно, это не показывает мне, чего я хочу. Contact
выглядит так, как будто он вернул базу ToString(): Image
Но это нормально для столбца Adress, потому что класс Adress переопределяет метод ToStrng().
Основная проблема здесь в том, что я даже не знаю, как показать данные контакта. Я хочу показать это в разных столбцах, а не как Адрес.