DataGridViewComboBoxCell ArgumentException 调试过程及原因

数据模型大致是这样子的,Product 表中有一个ProductTypeKey字段,ProductType表中有ProductTypeKey,ProductTypeValue等字段。

使用Aspnet中的DataGridView 控件绑定上述的Product表,同时要求,ProductTypeKey列显示为ProductType表中的对应的ProductTypeValue。

 为了完成上述的绑定,我使用了DataGridViewComboBoxColumn

 

ProductDataTable productDT;

productDataAdapter.Fill(productDT); 

DataGridView.DataSource =  productDT;

 

DataGridViewComboBoxColumn column = new DataGridViewComboBoxColumn();

column.DataSource = productTypeDT; 

column. DataPropertyName = "ProductTypeKey";

column.DisplayMember = " ProductTypeValue";

colummn.ValueMember = "ProductTypeKey";

 

....

 然后在运行的时候一直出现DataGridViewComboBoxCell ArgumentException。由于公司的网络又中断了,所以调试半天也不知道什么原因。

开始还以为是是不是Product表中的ProductTypeKey为空的缘故,后来把所有的值全部填充也是同样出现错误。

由于实际的项目是从Xml文件中读取SQL语句以及DisplayMember和ValueMember的原因导致问题升级,半天也没有结果。

 

 晚上回到家,万能的Google,就搜索到原因是Product表中的ProductTypeKey的类型与ProductType表中的ProductTypeKey类型不一致。

真是百密一疏啊/

 

 

你可能感兴趣的:(datagridview)