2013-6-8 17:37:19
.NET#DataGridView#DataGridViewComboBoxCell值无效问题
场景
使用.Net#DataGridView组件呈现sql语句内容,DataGridView中用到了DataGridViewComboBoxColumn列,当查询数据时直接报错“DataGridViewComboBoxCell 值无效”
原因
传递给DataGridView#DataGridViewComboBoxCell的值类型与DataGridViewComboBoxCell要求的数据类型不符,传递的是Int32但实际要求的是System.String.
解决
修改传递给DataGridView数据格式,其实也可以在DataGridViewComboBoxCell端进行转换
示例代码
String qrySql = "SELECT A.ID,A.NAME FROM E_F_THIRDPT_DIFF A ORDER BY A.ID";
DataTable dataTable = Ecommerce.Core.WebService.WebServiceFactory.sqlToDataTable(qrySql);
listDifferenceType.DataSource = dataTable;
listDifferenceType.DisplayMember = "NAME";
listDifferenceType.ValueMember = "ID";
listDifferenceType.ValueType = typeof(Int32);