怎么把一个DataGridViewComboBoxCell对象附加到DataGrid上面去
如何把一个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赋值
我写了下面的代码,运行会抛异常
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;
调试的时候,这些代码都不抛异常,但是等到界面一出来,就像下面这样了:
异常信息是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赋值