如何使用C#清除DataGridView中的行?

Hea*_*God 11 c# datagridview

此行中出现错误.

datagridview1.Rows.Clear()
Run Code Online (Sandbox Code Playgroud)

但这一行给出了错误:

无法清除此列表.

Ary*_*ryo 21

当我尝试清除DataGridView的DataSource之后我也遇到了类似的问题,我将它绑定到DataTable后:

DataTable DT = ... ; // fill it
datagridview1.DataSource = DT;
Run Code Online (Sandbox Code Playgroud)

当我尝试使用以下代码稍后清除它的行时:

datagridview1.DataSource = null
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

ERROR: Object reference not set to an instance of an object
Run Code Online (Sandbox Code Playgroud)

此对象引用ERROR问题已在此处解决.但我设法用这段代码解决了我自己的问题(清除DataGridView行):

DataTable DT = (DataTable)datagridview1.DataSource;
if (DT != null) 
    DT.Clear();
Run Code Online (Sandbox Code Playgroud)

我知道很久以前就问过这个问题,但我希望我的解决方案可以解决某些问题.

  • 谢谢!即使有很老的问题,一个新的答案可能无助于OP,但它确实有助于像我这样的其他人. (3认同)

V4V*_*tta 5

您是否DataGridView绑定到 a DataSource,我认为这就是为什么它不允许您清除它,因为它绑定到一个潜在的DataTableor List

您可以尝试将 DataSource 属性设置为 null

datagridview1.DataSource = null; 清算


小智 5

private void button_Limpar_Click(object sender, EventArgs e)
{
    DataTable DT = (DataTable)dataGridView_Cidade.DataSource;
    if (DT != null)
        DT.Clear();
}
#endregion
Run Code Online (Sandbox Code Playgroud)