我在 datagridview 中的组合框列有问题:当我想插入一个新行时,我得到一个“System.ArgumentException:DataGridViewComboBoxCell 的值无效”。我正在使用 Linq to SQL 填充来自不同表的数据:
- 表客户(ID(键),名称,...)
- 表地址(ID(键)、CustomerID、街道...)
- 表 ContactPerson(ID(键)、AddressID、姓名、职务……)
我用于填充 ContactDataGridView(绑定到 TextBox RelationIdTextBox)的 Linq 查询如下:
var y = from r in BH.Relations
where r.RelationID.ToString() == relationIDTextBox.Text
join v in BH.Addresss on r.RelationID equals v.RelationID
join c in BH.ContactPersons on v.AddressID equals c.AddressID
select c;
contactPersonsBindingSource.DataSource = y;
ContactDataGridView.DataSource = contactPersonsBindingSource;
这工作正常。
在这个 ContactDataGridView 中,我有一个 ComboBoxCell AddressID,它使用以下 linq 查询填充街道名称而不是 AddressID:
var addr = from a in BH.Addresss
where a.RelationID.ToString() == relationIDTextBox.Text
select new { AddressID = a.AddressID, Street = a.Street };
ContactAddressBindingSource = addr;
这也很好。
也就是说,直到我想在这个 datagridview 中添加一个新行。然后我得到错误
“System.ArgumentException:DataGridViewComboBoxCell 的值无效。”
谁能帮助我理解我做错了什么?我真的想不通!