DataGridView中发生异常
显示:DataGridView中发生以下异常 DataGridViewComBoBoxCell值无效,要替换此默认对话框,请处理DataError事件
Dim allCaseView As New DataView(allCaseMst.M_Case)
allCaseView.Sort = allCaseMst.M_Case.CaseCodeColumn.ColumnName
’在ComboBox的List中表示绑定的项目
With colAfterCaseName
.DisplayMember = allCaseMst.M_Case.CaseNameColumn.ColumnName
.ValueMember = allCaseMst.M_Case.CaseCodeColumn.ColumnName
.DataSource = allCaseView
End With
’在DataView绑定初值
With dgv
.DataSource = Nothing
.Columns(colAfterCaseCode.Index).DataPropertyName = caseMst.M_Case.CaseCodeColumn.ColumnName
.Columns(colAfterCaseName.Index).DataPropertyName = caseMst.M_Case.CaseNameColumn.ColumnName
.DataSource = caseView
End With
[最优解释]
.DataSource = Nothing
底下两行,改成
.rows.clear
.Columns.clear
[其他解释]
其实你的意思大概是让数据源的某一列,按combobox的形式来显示对吧?(我乱猜的)
如果不能这么直接绑,可以考虑显示数据的时候,用一个循环去赋值,不会慢的~~
[其他解释]
学习这个DataGridView了,谢谢。
[其他解释]
学习了,谢谢!
[其他解释]
应该是colAfterCaseName用的是allCaseMst数据源,而dgv绑定的是caseMst数据源两者类型不一样导致的,但是怎么改!!
[其他解释]
你是不是要排序??
DataGridViewComBoBoxCell
显示:DataGridView中发生以下异常 DataGridViewComBoBoxCell值无效,要替换此默认对话框,请处理DataError事件
With dgv
.DataSource = Nothing
.Columns(colAfterCaseCode.Index).DataPropertyName = caseMst.M_Case.CaseCodeColumn.ColumnName
.Columns(colAfterCaseName.Index).DataPropertyName = caseMst.M_Case.CaseNameColumn.ColumnName
.DataSource = caseView
你是要排序还是干吗呀??
从你这代码看,你先解除了绑定,然后又给它的列赋了一个DataPropertyName,然后再去绑定数据源,可能顺序有问题,应该先绑定数据源,
建议:.DataSource = Nothing底下两句,全删掉,改成删所有行,列的代码,再.DataSource = caseView!~
说实话,你这代码只有你自己看得懂,我都是靠猜的...你这问题得靠自己,,因为代码不全,都看不懂的.
总而言之一句话,在绑定数据源之前,尽量保证datagridview里面是空的,什么都没有,这是第一;第二,在绑定之前,不要试图修改datagridview的列的属性,(第一,你怎么知道有那个列?第二,你提前给它一个属性,它还要去绑定新的数据源,不是冲突了吗?第三,万一那个列很特殊,是个combobox列,不轻易让你修改它的属性呢?)