【发布时间】:2019-10-22 18:04:20
【问题描述】:
在 VS2019 中添加创建 GUI 时,您可以添加 TableDataAdapter,它将添加/显示显示该表数据的 Datagrid。在设计器中使用此代码this.data1TableAdapter.Fill(this.test1DataSet.data1);
但问题是,如果数据库/表中有任何更改,它们将不会反映在该数据网格中。
我尝试使用data1DataGridView.Update(); 和data1DataGridView.Refresh();,但它实际上什么也没做。
比我添加我的数据库连接字符串作为数据源。(我知道那是愚蠢的尝试,但我还是尝试了。)这显然没有奏效,并删除了我在数据网格中显示的任何(未更新)数据。
所以这是我的问题,有没有什么简单的方法可以在每次数据库/表发生变化时自动更新?
免责声明:我有它的工作,但另一种方式。我也会分享的。
System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();
conn.ConnectionString = @"Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:\Documents\test1.mdb";
OleDbCommand comm = new OleDbCommand("SELECT * FROM data1;", conn);
conn.Open();
OleDbDataAdapter dap = new OleDbDataAdapter(comm);
DataTable ds = new DataTable();
dap.Fill(ds);
data1DataGridView.DataSource = ds;
comm.ExecuteNonQuery();
conn.Close();
【问题讨论】:
-
BindingSource Class (在SO上搜索,MSDN例子不是很有趣)。
标签: c# winforms datagridview