为什么我无法清除datagridview控件中的行?

sni*_*its 6 c# datagridview winforms

我正在做这个测试,我需要每4秒用数据重新加载datagridview,数据来自数据库.

所以我通过代码创建了一个计时器控件,并为事件添加了一个事件处理程序tick.然后在tick事件中

void t1_Tick(object sender, EventArgs e)
{

    dataGridView1.DataSource = null;
    dataGridView1.Rows.Clear();
    dt = Product.GetAllProductsBasicInfo();
    dataGridView1.DataSource = dt;

}
Run Code Online (Sandbox Code Playgroud)

上面的代码工作,但当我移动

dataGridView1.Rows.Clear();
Run Code Online (Sandbox Code Playgroud)

之前

dataGridView1.DataSource = null;
Run Code Online (Sandbox Code Playgroud)

它会抛出一个运行时错误,说行无法清除,我想知道它为什么抛出这个错误,通常Clear()清除datagridview?

谢谢

Lar*_*ech 15

通常Clear()清除datagridview?

是的,除非它有一个DataSource,在你的情况下,它确实如此.

因此,请尝试清除数据源:

dt.Rows.Clear();
Run Code Online (Sandbox Code Playgroud)