单击一次按钮刷新多个数据网格视图

Refreshing multiple datagridviews with single button click

不确定以前是否有人问过这个问题,所以这里.. 我有一个用 C# windows 形式编码的前端应用程序。在第二种形式上,我有两个数据网格视图,它们从两个不同的 sql 服务器预定义视图

中填充

我需要单击一次按钮同时刷新两个数据网格 我的按钮点击甚至看起来像这样..

private void RefreshBTN_Click(object sender, EventArgs e)
    {
        SqlConnection myConnection = new SqlConnection("removed for illustration only");
        string query = "select * from daily_orders order by orderno DESC";
        SqlCommand cmd = new SqlCommand(query, myConnection);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        da.Fill(dt);
        dataGridView1.DataSource = dt;
    } 

我的理解是,C# 打开新连接,查询数据库并 returns 通过用所需数据填充 datagridview1。我想要同一个点击事件从另一个 sql 视图请求数据并同时填充另一个 datagridview。从视觉上看,两个网格在同一表格上垂直对齐,一个在另一个之上。

非常感谢

将刷新 Grid1 的代码移到一个单独的函数中。然后复制粘贴并为 Grid2 复制该函数。更改 Grid2 的 SQL 以及 Grid2 名称。将复制的函数重命名为 2。然后添加对这两个函数的调用,这样您的按钮单击将刷新两个网格。

private void RefreshBTN_Click(object sender, EventArgs e)
{
    //call both functions to refresh both on button click
    RefreshGrid1();
    RefreshGrid2();
}

private void RefreshGrid1()
{
    SqlConnection myConnection = new SqlConnection("removed for illustration only");
    string query = "select * from daily_orders order by orderno DESC";
    SqlCommand cmd = new SqlCommand(query, myConnection);
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    DataTable dt = new DataTable();
    da.Fill(dt);
    dataGridView1.DataSource = dt;
}

//give this function a unique name to represent the second grid refresh
private void RefreshGrid2()
{
    SqlConnection myConnection = new SqlConnection("removed for illustration only");
    string query = "select * from daily_orders order by orderno DESC";
    SqlCommand cmd = new SqlCommand(query, myConnection);
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    DataTable dt = new DataTable();
    da.Fill(dt);
    //rename this to your second grid name
    dataGridView2.DataSource = dt;
}