【问题标题】:Making a search List using DatagridView使用 DatagridView 制作搜索列表
【发布时间】:2013-04-14 17:27:41
【问题描述】:

我想在 c# 中使用 datagridview 创建一个搜索列表。我有一个文本框,可以在其中输入客户姓名。单击“搜索”按钮时,我将隐藏 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();

    }

【问题讨论】:

  • 当您从列表中过滤时,为什么需要考虑前端?
  • 实际上,当客户要租用一个项目时,用户想要选择客户的姓名和 ID。所以我想让数据库中的所有客户都进入datagridview。
  • 等等,我要在这里添加代码。
  • 对不起,我不知道如何在这里添加代码。本站新用户。你能帮帮我吗?
  • 编辑您的帖子并将代码粘贴到其中。

标签: c# datagridview


【解决方案1】:

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

另一种选择是使用 DataRowView 并根据您的搜索条件进行过滤,并使用该 datarowview 来绑定 datagridview。我更喜欢最后一个。

【讨论】:

  • 如果我想第二次搜索,第二种方法将如何工作。
  • 每次搜索时都必须创建一个新的 DataRowView 并应用搜索条件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-05
  • 1970-01-01
相关资源
最近更新 更多