使用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制作搜索列表

您是否使用数据表来绑定datagridview?如果是,那么在搜索时可以迭代数据表并删除与搜索条件不匹配的行。当您搜索时,您可以拒绝对数据表的更改,以重新获得原始数据。然后,您可以使用最初使用的相同过程(将不匹配搜索条件的数据标记为已删除)。

另一种选择是使用DataRowView和带有搜索条件的过滤器,并使用该DataRowView来绑定datagridview。