的方法如下:
private void textBoxFilter_TextChanged(object sender, EventArgs e)
{
string filterText = textBoxFilter.Text.Trim().ToLower(); // 获取过滤文本并转换为小写
// 遍历DataGridView的每一行
foreach (DataGridViewRow row in dataGridView.Rows)
{
bool rowVisible = false; // 标记行是否可见
// 遍历当前行的每个单元格
foreach (DataGridViewCell cell in row.Cells)
{
if (cell.Value != null && cell.Value.ToString().ToLower().Contains(filterText))
{
// 如果单元格的值包含过滤文本,则将行设置为可见
rowVisible = true;
break;
}
}
// 设置行的可见性
row.Visible = rowVisible;
}
}
private void Form1_Load(object sender, EventArgs e)
{
// 加载DataGridView的数据
// 示例代码:
DataTable dataTable = new DataTable();
dataTable.Columns.Add("Name");
dataTable.Columns.Add("Age");
dataTable.Rows.Add("John", 25);
dataTable.Rows.Add("Alice", 30);
dataTable.Rows.Add("Bob", 35);
dataGridView.DataSource = dataTable;
}
这样,当用户在文本框中输入过滤关键字时,DataGridView会根据每个单元格的值进行过滤,并显示匹配的行。
注意:以上代码仅为示例,实际应用中可能需要根据具体需求进行适当修改。
关键词解释:
领取专属 10元无门槛券
手把手带您无忧上云