我在另一列的一列中有一个表列表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个表的数据。我应该改变什么,在哪里......?
答案 0 :(得分:0)
在回答这个问题之前,请您确认一下 1)如果dataGridView2.Rows [i] .Cells [1]是复选框列 2)dataGridView1是另一个要在另一个下面显示表格的网格 3)构成dataGridView1数据源的表是否具有相同顺序的相同列? 由于提供的信息不充分。
当且仅当,&#34;选择*&#34;以相同的顺序给出相同的列,可以添加多个表。在for循环之前创建一个空的数据表(让我们称之为master)。在每次迭代中,将新数据表dbdataset合并到主数据表。您可以在此处查看语法:link。这提供了有关如何处理列和主键的详细信息。数据表中的自定义修改也可以在构建之后完成。语法在这里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();