我的程序有困难。我有一个dataGridView填充了我的访问数据库中的值。我还有一个listBox只是放在dataGridView下。在我的dataGridView我有name_Columns,联系人,年龄,状态等。我遇到的困难是,在列表框中显示20岁以上的人的姓名,所以我不知道该怎么做。我将非常乐意为您提供任何帮助。我已经插入了一张图片和一些我已经完成的代码。 谢谢
private void button1_Click(object sender, EventArgs e) //View items in the Data Grid
{
con.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = con;
string query = "select * from DataPay";
cmd.CommandText = query;
DataTable dt = new DataTable();
OleDbDataAdapter adap = new OleDbDataAdapter(cmd);
adap.Fill(dt);
dataGridView1.DataSource = dt;
con.Close();
}
答案 0 :(得分:1)
您忘记添加条件WHERE
子句,如
string query = "select * from DataPay where Age > 20";
答案 1 :(得分:0)
您可以使用DataView的RowFilter属性。您可以直接在检索到的DataTable上设置此属性,但这也将过滤DataGridView。如果要将两个控件分隔为分隔的内容,则可以使用原始表作为新DataView的数据源创建新的DataView
....
DataTable dt = new DataTable();
OleDbDataAdapter adap = new OleDbDataAdapter(cmd);
adap.Fill(dt);
dataGridView1.DataSource = dt;
con.Close();
DataView dv = new DataView(dt, "Age > 20", "Name", DataViewRowState.CurrentRows);
listBox.DisplayMember = "Name";
listBox.DataSource = dv;
}