解决方案:感谢Nikita Marinosyan。他找到了解决方案Here
我有一份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; }
}
现在我想以某种方式将此类酒店代表DataGridView 所以我有这个。
BindingList<Hotel> bl=new BindingList<Hotel>();
之后我填写bl
并将其绑定到datagridview:
dataGridView1.DataSource = bl;
显然,它并没有告诉我我想要什么。 Contact
列似乎返回了基于ToString():Image
但是对于列Adress是可以的,因为类Adress具有覆盖方法ToStrng()。
这里的主要问题是我甚至不知道如何显示联系人的数据。 我想在不同的栏目中展示它,而不是像Adress。