DataGridView控件(Window Form)绑定集合对像问题

假设系统中定义了Book类和BookCollection类,BookCollection类继承了ICollection<>接口;其代码如下:

public class Book
    {
        private string name;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        private string author;

        public string Author
        {
            get { return author; }
            set { author = value; }
        }
        private DateTime date;

        public DateTime Date
        {
            get { return date; }
            set { date = value; }
        }
    }

public class BookCollection:ICollection<Book>
    {
        private List<Book> list;
        public BookCollection()
        {
           
            list = new List<Book>();
        }
        #region ICollection<Book> 成员

        public void Add(Book item)
        {
            list.Add(item);
        }

        public void Clear()
        {
            list.Clear();
        }

        public bool Contains(Book item)
        {
            return list.Contains(item);
        }

        public void CopyTo(Book[] array, int arrayIndex)
        {
            list.CopyTo(array, arrayIndex);
        }

        public int Count
        {
            get { return list.Count; }           
        }

        public bool IsReadOnly
        {
            get { return false; }
        }

        public bool Remove(Book item)
        {
            return list.Remove(item);
        }
        public Book[] ToArray()
        {
            return list.ToArray();
        }
        #endregion

        #region IEnumerable<Book> 成员

        public IEnumerator<Book> GetEnumerator()
        {
            return list.GetEnumerator();
        }

        #endregion

        #region IEnumerable 成员

        System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
        {
            return list.GetEnumerator();
        }

        #endregion
    }

 DataGridView控件(Window Form) 在绑定自定义集合对象时,不能显示结果,其绑定代码如下:

BookCollection item = new BookCollection();
            Book book = new Book();
            book.Author = "tiger1";
            book.Name = "C# Designer";
            book.Date = DateTime.Now;
            item.Add(book);

            dataGridView1.DataSource = item;//绑定集合对象

但是无显示。如果绑定item.ToArray();就有结果了。

是否意味着DataGridView只能绑定数组?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值