使用DatagridView制作搜索列表
本文关键字:搜索 列表 DatagridView 使用 | 更新日期: 2023-09-27 18:09:01
我想在c#中使用datagridview创建一个搜索列表。我有一个文本框,其中可以输入客户名称。当点击"search"按钮时,我将隐藏CustomerName不等于searchValue的所有行。问题是,当用户想要进行第二次搜索时,我如何在dgv的隐藏行中搜索。我需要使可见的行隐藏。谢谢。
代码如下。
private void search_Click(object sender, EventArgs e)
{
arrayList= new ArrayList();
String searchValue = searchBox.Text;
for (int i = 0; i < dataGridView1.RowCount-1; i++)
{
if ( (dataGridView1.Rows[i].Cells[1].Value.ToString().Trim() ).Equals (searchValue.Trim()) )
{
//dataGridView1.Visible = true;
arrayList.Add(i);
}
else
{
dataGridView1.Visible = false;
}
}
dataGridView1.Refresh();
}
您是否使用数据表来绑定datagridview?如果是,那么在搜索时可以迭代数据表并删除与搜索条件不匹配的行。当您搜索时,您可以拒绝对数据表的更改,以重新获得原始数据。然后,您可以使用最初使用的相同过程(将不匹配搜索条件的数据标记为已删除)。
另一种选择是使用DataRowView和带有搜索条件的过滤器,并使用该DataRowView来绑定datagridview。