显示datagridview中多个表的数据

我在另一列的一列n个复选框中有一个表列表。 我想通过单击复选框来查看我选择的表的数据

我的代码是

for (int i = 0; i < dataGridView2.Rows.Count; i++ ) { if (dataGridView2.Rows[i].Cells[1].Value != null) { if ((Boolean)dataGridView2.Rows[i].Cells[1].Value == true) { try { string myConnection="datasource=localhost;database=dmrc;port=3306;username=root;password=root"; MySqlConnection myConn = new MySqlConnection(myConnection); string query = "select * from dmrc." + dataGridView2.Rows[i].Cells[0].Value.ToString(); MySqlCommand cmdDatabas = new MySqlCommand(query, myConn); MySqlDataAdapter myDataAdapter = new MySqlDataAdapter(); myDataAdapter.SelectCommand = cmdDatabas; DataTable dbdataset = new DataTable(); myDataAdapter.Fill(dbdataset); BindingSource bSource = new BindingSource(); bSource.DataSource = dbdataset; f1.dataGridView1.DataSource = bSource; myDataAdapter.Update(dbdataset); f1.Show(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } 

但每次只显示1个表的数据。 我应该改变什么,在哪里..?

在此问题可以回答之前,请确认1)如果dataGridView2.Rows [i] .Cells [1]是复选框列2)dataGridView1是另一个网格,你想要一个在另一个下面显示表3)做表组成dataGridView1的数据源具有相同顺序的相同列? 由于提供的信息不充分。

如果且仅当“select *”以相同的顺序给出相同的列时,您可以添加多个表。 在for循环之前创建一个空的数据表(让我们称之为master)。 在每次迭代中,将新数据表dbdataset合并到主数据表。 您可以在此处查看语法: link 。 这提供了有关如何处理列和主键的详细信息。 数据表中的自定义修改也可以在您构建之后完成。 语法在这里链接 。 希望这可以帮助!

 DataTable masterdbdataset = new DataTable(); //Perform custom operations here if necessary BindingSource bSource = new BindingSource(); for (int i = 0; i < dataGridView2.Rows.Count; i++ ) { if (dataGridView2.Rows[i].Cells[1].Value != null) { if ((Boolean)dataGridView2.Rows[i].Cells[1].Value == true) { try { string myConnection="datasource=localhost;database=dmrc;port=3306;username=root;password=root"; MySqlConnection myConn = new MySqlConnection(myConnection); string query = "select * from dmrc." + dataGridView2.Rows[i].Cells[0].Value.ToString(); MySqlCommand cmdDatabas = new MySqlCommand(query, myConn); MySqlDataAdapter myDataAdapter = new MySqlDataAdapter(); myDataAdapter.SelectCommand = cmdDatabas; DataTable dbdataset = new DataTable(); myDataAdapter.Fill(dbdataset); myDataAdapter.Update(dbdataset); masterdbdataset.Merge(dbdataset); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } } bSource.DataSource = masterdbdataset; f1.dataGridView1.DataSource = bSource; f1.Show();