用户可以设置查询条件,查询条件包括员工编号(输入),员工姓名(输入,支持模糊查 询),部门(采用数据绑定),性别(直接设置),当设置好查询条件后,点击查询,可以根 据条件查询表中数据并在 datagridview 上显示,提示:dataview 的 RowFilter 功能
时间: 2023-06-25 15:06:32 浏览: 148
JAVA的多条件模糊查询
5星 · 资源好评率100%
可以很方便地实现这个需求。以下是一个示例代码,你可以根据自己的实际需求进行修改:
```csharp
private void btnQuery_Click(object sender, EventArgs e)
{
DataView dv = new DataView(employeeDataTable);
string filter = "";
if (!string.IsNullOrEmpty(txtEmpNo.Text))
{
filter += $"EmpNo = '{txtEmpNo.Text.Trim()}' AND ";
}
if (!string.IsNullOrEmpty(txtEmpName.Text))
{
filter += $"EmpName LIKE '%{txtEmpName.Text.Trim()}%' AND ";
}
if (cbDept.SelectedItem != null)
{
filter += $"Dept = '{cbDept.SelectedItem.ToString()}' AND ";
}
if (rbMale.Checked)
{
filter += $"Gender = 'Male' AND ";
}
else if (rbFemale.Checked)
{
filter += $"Gender = 'Female' AND ";
}
if (!string.IsNullOrEmpty(filter))
{
filter = filter.Remove(filter.Length - 5); // 移除最后一个 AND
dv.RowFilter = filter;
}
dgvEmployee.DataSource = dv;
}
```
在这个示例中,我们首先创建了一个 DataView 对象,以便于对 DataTable 进行筛选和排序。然后根据用户输入的条件,构造一个筛选字符串,并将其赋值给 DataView 的 RowFilter 属性。最后,将 DataView 对象绑定到 DataGridView 控件上,以显示筛选后的数据。
注意,如果用户没有输入任何条件,则不需要进行筛选,直接显示所有数据即可。另外,当用户选择部门时,可以通过数据绑定来实现,这样可以避免手动输入部门名称的错误。
阅读全文