将BindingList中的数据显示到DataGridView

时间:2018-03-01 22:26:13

标签: c# datagridview datatable bindinglist

  

解决方案:感谢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。

0 个答案:

没有答案