如何在从其他表单对数据库进行更改后刷新datagridview, 关闭子窗体后,我尝试使用click事件刷新datagridview但是它不起作用,我是否必须使用数据集?
//create an OleDbDataAdapter to execute the query
dAdapter = new OleDbDataAdapter(gQuery, connString);
//create a command builder
cBuilder = new OleDbCommandBuilder(dAdapter);
//create a DataTable to hold the query results
dTable = new DataTable();
//fill the DataTable
dAdapter.Fill(dTable);
//BindingSource to sync DataTable and DataGridView
bSource = new BindingSource();
//set the BindingSource DataSource
bSource.DataSource = dTable;
//set the DataGridView DataSource
dataGridView1.DataSource = bSource;
private void button_Refresh_Click(object sender, EventArgs e)
{
dataGridView1.DataSource = bSource;
dataGridView1.Refresh();
}
请帮助我,请提前致谢
答案 0 :(得分:8)
添加
dataGridView1.Update();
它将解决您的问题。
答案 1 :(得分:5)
当您将数据库与DataGridView属性中的“DataSource”链接时,IDE会自动将BindingSource和TableAdapter添加到表单中。
如果更新了数据库并且您想刷新DataGridView,请调用:
this.<table name>TableAdapter.Fill(this.<DB name>DataSet.<table name>);
其中<table name>
是表的名称(例如用户),<DB name>
是数据库的名称(例如MyDB)。
this.UsersTableAdapter.Fill(this.MyDBDataSet.Users);
答案 2 :(得分:0)
你试过吗
dataGridView1.DataSource = dTable;
答案 3 :(得分:0)
bSource.DataSource = dTable;
dataGridView1.DataSource = bSource;
如果你想起你的桌子会更好