DataGridView中:
1、第1列和第2列都是一个Combox
2、第1列在初始化的时候就绑定了值。第2列没有绑定值。
要求:根据第1列的选定值,到数据库取得数据后绑定数据到第2列。因此每行的第2列数据都不同。问题:第1行1列选择一个值后,会自动新增第2行,并且第2行2列与第1行有相同的Item.
错误:第2行1列选择不同于第1行1列的值后,
"System.ArgumentException: DataGridViewComBoxCell 值无效
要替换此默认对话框,请处理DataError事件"
1、第1列和第2列都是一个Combox
2、第1列在初始化的时候就绑定了值。第2列没有绑定值。
要求:根据第1列的选定值,到数据库取得数据后绑定数据到第2列。因此每行的第2列数据都不同。问题:第1行1列选择一个值后,会自动新增第2行,并且第2行2列与第1行有相同的Item.
错误:第2行1列选择不同于第1行1列的值后,
"System.ArgumentException: DataGridViewComBoxCell 值无效
要替换此默认对话框,请处理DataError事件"
思路是你在数据处理层将这些不同的数据源整合成统一的数据表达,提供给UI。
看来你的老师很是会误人嘛。赫赫。
原因:每行的ComBox必须类型相同。
解决:在每行的ComBox中增加一个空格.
DataGridViewComboBoxCell cb = (DataGridViewComboBoxCell)gvList.Rows[Rows].Cells[4];
foreach (DataRow dr in dt.Rows)
{
cb.Items.Add(dr[0]);
}
cb.Items.Add(" ");