怎么把一个DataGridViewComboBoxCell对象附加到DataGrid上面去

如何把一个DataGridViewComboBoxCell对象附加到DataGrid上面去?
我写了下面的代码,运行会抛异常

            DataGridViewComboBoxColumn column1 = new DataGridViewComboBoxColumn()
            {
                DataPropertyName = "Sex",//这里的Sex和Student类中的属性名一致
                HeaderText = "性别",
                Name = "column1"
            };
            this.dataGridView1.Columns.AddRange(new [] { column1 });
            Student[] list = new Student[2];//换成List<Student>也是一样的
            list[0] = new Student("zhangsan", "girl");
            list[1] = new Student("lisi", "boy");

            this.dataGridView1.DataSource = list;

调试的时候,这些代码都不抛异常,但是等到界面一出来,就像下面这样了:
怎么把一个DataGridViewComboBoxCell对象附加到DataGrid上面去
异常信息是System.ArgumentException: DataGridViewComboBoxCell value is not valid.
我发现弹出的这个异常对话框,关掉了又弹出来,关掉了又弹出来。
必须在任务管理器里面结束掉当前进程,否则这个对话框会不停的弹。如下图。
这是为什么呢?

我尝试给column1.CellType赋值,又发现这个属性是只读的,不能修改。
那么,如果我new出来一个Cell: var cell = new DataGridViewComboBoxCell();
那么这个Cell该如何被用到Column里面,才能让我的程序正常运行?

------解决思路----------------------
你必须为 column1  指定DataSource,因为它是ComboBox类型;并且指定它的DisplayMember与ValueMember,当DataPropertyName 与ValueMember 赋值一样时,比如都是index,你就可以通过绑定list 中 girl或boy对应的Id进行 初始值设置了。
------解决思路----------------------
Debug 看下就知道问题在哪儿了
------解决思路----------------------
度娘,datagrid赋值