0
我的应用程序有一个datagridview,通过mysql连接器显示数据,我想清除或刷新数据网格,但无法弄清楚如何。使用数据源清除datagridview
我试图
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;
}
}
它仍然会保持数据源,并增加相同的行到网格。
你在哪里定义 “WerkData”?它是什么数据类型? – NDraskovic
添加了WerkData定义。 – PandaNL
你可以欺骗一下。当你想清除dataGridView时,可以使用'WerkData.Clear()'方法,然后使用dataGridView2.DataSource = WerkData' 这样dataGridView将清除所有的数据,但是头文件将保留。之后,您可以使用'dataGridView.DataSource = null'来清除显示的标题。 – NDraskovic