点击这里给我发消息
点击这里给我发消息
¥1891.00元
智超淘宝店
System.InvalidOperationException:“除非 DataGridView 被数据绑定到支持更改通知并允许删除的 IBindingList,否则不能以编程方式移除行。”
原创
文章标签 C# WinForm

删除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;