Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用数据源清除datagridview_C#_Winforms - Fatal编程技术网

C# 使用数据源清除datagridview

C# 使用数据源清除datagridview,c#,winforms,C#,Winforms,我的应用程序有一个datagridview,它通过mysql连接器显示数据,我想清除或刷新datagrid,但不知道如何清除或刷新 我试过了 dataGridView2.DataSource = null; 但它不会清除数据源 这是我的密码 using MySql.Data.MySqlClient; Boolean DataLoaded = false; string SQL = null; MySqlConnection MysqlConn; MySqlCom

我的应用程序有一个datagridview,它通过mysql连接器显示数据,我想清除或刷新datagrid,但不知道如何清除或刷新

我试过了

dataGridView2.DataSource = null; 
但它不会清除数据源

这是我的密码

using MySql.Data.MySqlClient; 

Boolean DataLoaded = false;
    string SQL = null;

    MySqlConnection MysqlConn;
    MySqlCommand WerkDataCommand = new MySqlCommand();
    MySqlDataAdapter WerkDataAdapter = new MySqlDataAdapter();
    DataTable WerkData = new DataTable();

private void gegevensOphalenBTN_Click(object sender, EventArgs e)
    {
        MysqlConn = new MySqlConnection();

        MysqlConn.ConnectionString = "server=myserver;" + "user id=user;" + "password=***;" + "database=database";

        SQL = "SELECT * FROM werkverslagen";


        try
        {
            dataGridView2.DataSource = null;
            MysqlConn.Open();

            WerkDataCommand.Connection = MysqlConn;
            WerkDataCommand.CommandText = SQL; 

            WerkDataAdapter.SelectCommand = WerkDataCommand;
            WerkDataAdapter.Fill(WerkData);

            dataGridView2.DataSource = WerkData;
        }
        catch (MySqlException myerror)
        {
            MessageBox.Show("Database gives the following error: " + myerror.Message);
        }
        finally
        {
            MysqlConn.Close();
            MysqlConn.Dispose();
            button4.Enabled = true;
        }
    }
它仍将保留数据源并将相同的行添加到网格中。

您只需执行以下操作:

dataGridView2.Rows.Clear();
dataGridView2.Refresh();

你在哪里定义“WerkData”?它是什么数据类型?添加了WerkData定义。你可以作弊一点。要清除dataGridView时,可以使用
WerkData.clear()
方法,然后使用
dataGridView2.DataSource=WerkData
这样dataGridView将清除所有数据,但标题将保留。之后,您可以使用
dataGridView.DataSource=null
清除显示的标题。这非常有效,谢谢。同样的错误,请在dataGridView2.Rows.clear()处清除此列表。在第二次获得信息后。明确地说,适配器将获取列并将其放在datagridview中,它们不是在集合中创建的。所以datagridview2.rows.clear不会做任何事情。