具有组合框列的数据网格 - 添加新错误
本文关键字:新错误 添加 错误 网格 数据网 组合 数据 | 更新日期: 2023-09-27 18:34:35
使用 EF 4、C# WinForms 和 Northwind 数据库,我将数据网格绑定到 Orders Entity,然后在运行时创建了一个新的 Comboboxcolum。
Entities NW;
private void Form1_Load(object sender, EventArgs e)
{
NW = new Entities();
BindingSource1.DataSource = NW.Orders;
DataGridViewComboBoxColumn CboCol = new DataGridViewComboBoxColumn()
{
HeaderText = "Customer",
DataPropertyName = " Customer ID",
DataSource = NW.Customers.Execute(MergeOption.AppendOnly),
ValueMember = "CustomerID",
DisplayMember = "CompanyName"
};
Datagriview1.Columns.Insert(1, CboCol);
}
使用上面的代码,我成功地更改了 datagridview 中的值并删除了行,但无法通过单击"+"按钮(添加新(添加新行,错误:"datagridviewcombocell 不是有效值"。有什么想法吗?
因为您将 DataGridViewComboBoxColumn 与数据绑定,所以当您添加包含一些 null 值的新行时,在您的数据源中找不到,这就是为什么它提示您不是有效值的原因
我的建议不是直接将新记录添加到 DataGirdViewComboBox 中,而是将绑定到组合框中的数据源添加到组合框中。最好在从数据源绑定 DataGridViewComboBox 时始终将其保留为只读。