【发布时间】:2018-06-20 19:32:43
【问题描述】:
这是我在这个网站上的第一个问题,所以如果我的格式不正确,我提前道歉。 我正在创建一个应该能够使用多个复选框搜索数据库(dataGridView)的系统。我在网上找到了一些代码来使用 3 个复选框进行搜索,但不确定如何扩展它。我需要能够使用 50 多个复选框进行搜索。以下代码在按下搜索按钮时执行,该按钮将在我的数据库中显示相应的行。我想知道将此解决方案扩展到 50 多个复选框的最有效方法。
private void button1_Click(object sender, EventArgs e)
{
String filterdata = "";
if (checkBox1.Checked)
{
if (checkBox2.Checked || checkBox3.Checked)
{
filterdata = "'T05A1.1',";
}
else
{
filterdata = "'T05A1.1'";
}
}
if (checkBox2.Checked)
{
if (checkBox3.Checked)
{
filterdata = filterdata + "'C16D6.2',";
}
else
{
filterdata = filterdata + "'C16D6.2'";
}
}
if (checkBox3.Checked)
{
filterdata = filterdata + "'F41E7.3'";
}
con.Open();
SqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
//cmd.CommandText = "Select * from Table1 where elegansgeneID ='" + filterdata + "'";
cmd.CommandText = "Select * from Table1 where elegansgeneID in(" + filterdata + ")";
cmd.ExecuteNonQuery();
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
dataGridView1.DataSource = dt;
con.Close();
}
【问题讨论】:
-
一组复选框,也许吧?
-
你需要 50 多个复选框来做什么?你真的应该考虑其他可能性......
标签: c# visual-studio checkbox datagridview