从子表单更新数据库后刷新datagridview win表单

sev*_*oug 4 c# datagridview dataset dataadapter

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


    }
Run Code Online (Sandbox Code Playgroud)

请帮帮我,请提前谢谢

小智 8

dataGridView1.Update();
Run Code Online (Sandbox Code Playgroud)

它会解决你的问题.


小智 5

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

如果数据库已更新,并且您想刷新DataGridView,则调用此命令:

this.<table name>TableAdapter.Fill(this.<DB name>DataSet.<table name>);
Run Code Online (Sandbox Code Playgroud)

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

this.UsersTableAdapter.Fill(this.MyDBDataSet.Users);
Run Code Online (Sandbox Code Playgroud)


Fon*_*nzy 0

你有没有尝试过

dataGridView1.DataSource = dTable;
Run Code Online (Sandbox Code Playgroud)