我正在使用 C# 和 SQL Server 开发我的一个小项目,但我想不出一种方法来清除 DataGridView 中的单元格,以便新数据可以填充单元格。我正在使用参数(例如列中的值)加载数据。例如,我想为某个作者加载所有书籍,然后我想为另一个作者加载所有书籍。由于 DataGridView 没有被清除,所以第二作者的书籍只是加载到先前数据行的下方,并继续这样。
我希望能够在加载新数据之前清除 DataGridView,这样当我单击所谓的“加载数据”按钮时,它可能是我看到的唯一数据。
目前,这就是我的代码或多或少的样子:
SqlConnection connect;
DataSet ds1 = new DataSet();
SqlDataAdapter da;
connect = new SqlConnection();
connect.ConnectionString = "Data Source=THEPC-PC\\SQLExpress;Initial Catalog=TheDatabase;Integrated Security=True";
string sql = "Select * from table WHERE author = 'BookAuthor'";
da = new SqlDataAdapter(sql, connect);
da.Fill(ds1, "table");
table_dataGridView.AutoGenerateColumns = false;
table_dataGridView.DataSource = ds1.Tables["table"];
connect.Open();
connect.Close();
如果我单击 author1 的“加载数据”,然后单击 author2,然后再次单击 author1,则 DataGridView 外观的简化版本:
------------------------
| author1 | bookONE |
------------------------
| author1 | bookTWO |
------------------------
| author2 | bookA |
------------------------
| author1 | bookONE |
------------------------
| author1 | bookTWO |
------------------------
我可以在查询之前添加一段代码来删除 DataGridView 中找到的所有以前的数据吗?