5

从另一个表单对数据库进行更改后如何刷新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();


    }

帮助我,请提前谢谢

4

4 回答 4

8

添加

dataGridView1.Update();

它会解决你的问题。

于 2012-06-15T12:26:56.913 回答
6

当您将数据库与 DataGridView 属性中的“DataSource”链接时,IDE 会自动将 BindingSource 和 TableAdapter 添加到您的表单中。

如果数据库已更新并且您想刷新 DataGridView,请调用:

this.<table name>TableAdapter.Fill(this.<DB name>DataSet.<table name>);

Where<table name>是您的表的名称(例如 Users),<DB name>是您的数据库的名称(例如 MyDB)。

this.UsersTableAdapter.Fill(this.MyDBDataSet.Users);
于 2013-07-24T14:05:30.163 回答
0
 bSource.DataSource = dTable;
 dataGridView1.DataSource = bSource;

如果你能回忆起你的桌子会更好

于 2013-03-12T09:39:44.093 回答
0

你有没有尝试过

dataGridView1.DataSource = dTable;
于 2012-06-04T21:26:30.120 回答