单击按钮时添加 datagridview 单元格会出现错误 "Collection already belongs.."

Adding a datagridview cell on button click brings up error "Collection already belongs.."

我正在向表单动态添加 datagridview。加载表单后,如果用户想要添加新行,我有一个按钮,用户可以使用该按钮添加一个。单击此按钮我正在尝试添加 DataGridViewComboBoxCell:

DataGridViewRow dtRow = new DataGridViewRow();
dgv1.Rows.Add(dtRow);
int RowIndex = dgv1.Rows.IndexOf(dtRow);
int TotalRowsvailable = NPDESconfigModel.Count; // rows in database

 if (RowIndex >= TotalRowsvailable) // to see if this is the new row 
{
 List<string> a = (from p in y
                   select p.Point_Name).ToList();

 DataGridViewComboBoxCell cbcell = new DataGridViewComboBoxCell(); 
 cbcell.DataSource = a;
 cbcell.DisplayMemeber = "Point_Name";
 dgv1.Rows[RowIndex].Cells.Add(cbcell);
}

The exception I get on the last line of the code is as below. Collection already belongs to a DataGridView control. This operation is no longer valid.

不知道是什么意思。

异常发生后,表单加载了新行和空单元格。

您应该将新的 Cell 放入现有的 Cell 中,而不是 Cells 集合的末尾。

可能是这样的:

 dgv1.Rows[RowIndex].Cells[yourComboboxColumnIndex] = cbcell;

该错误消息意味着您只能将行添加到单元格集合,只要它不是 DataGridview 的一部分。您可以在代码中创建一个 DataGridViewRow 并向其中添加适当数量的合适 Cell。然后你可以将它添加到 DGV 中;但最终所有行必须具有相同数量的单元格..