删除dataGridView1中的某行时,出现
System.InvalidOperationException:“除非 DataGridView 被数据绑定到支持更改通知并允许删除的 IBindingList,否则不能以编程方式移除行。”
的错误提示
原因为dataGridView1绑定的不是DataSet数据的数据。而是列表数据(List),所以需要先在列表中删除,然后再绑定到dataGridView1控件中
if (dataGridView1.DataSource == null)
return;
List m_TList = dataGridView1.DataSource as List;
DataGridViewSelectedRowCollection m_DGVSRC = dataGridView1.SelectedRows;
foreach (DataGridViewRow item in m_DGVSRC)
{
T m_T = item.DataBoundItem as T;
m_TList.Remove(m_T);
}
dataGridView1.DataSource = null;
dataGridView1.DataSource = m_TList;