【问题标题】:C#, Datagrid, Search part of a stringC#,Datagrid,搜索字符串的一部分
【发布时间】:2018-04-12 08:52:05
【问题描述】:

根据我下面的代码,当我开始在 tbxSearch 文本框中输入文本时,我可以过滤 datagridview。

但它只有在我按顺序输入文本时才有效。

示例:如果我开始输入“D001-A”,它将开始过滤从“D001-A”开始的文本。

如果我输入“001-A”,它不会过滤,因为文本位于字符串的中间。 请有任何建议。

 private void tbxSearch_TextChanged(object sender, EventArgs e)
        {


                (dgvTracking.DataSource as DataTable).DefaultView.RowFilter = string.Format("DocumentNo LIKE '{0}%'", tbxSearch.Text);                

}

【问题讨论】:

  • string.Format("DocumentNo LIKE '%{0}%'", tbxSearch.Text);
  • "DocumentNo LIKE '%{0}%'"
  • 如果 tbxSearch 文本包含单引号,这还不够。您还需要一个 Replace 来复制引号。

标签: c# search datagridview filter


【解决方案1】:

string.Format("DocumentNo LIKE '{0}%'", tbxSearch.Text); 更改为string.Format("DocumentNo LIKE '%{0}%'", tbxSearch.Text);

在您的示例中,它仅搜索以您的参数('string%')开头的字符串,您需要从乞求中添加%,这意味着如果在任何地方都能找到字符串,它将匹配结果。

【讨论】:

  • 它正在工作。感谢您的时间 SeM - ՍեՄ, i3lai3la 和 Steve
猜你喜欢
  • 1970-01-01
  • 2012-07-16
  • 1970-01-01
  • 2012-08-16
  • 2023-02-02
  • 1970-01-01
  • 2011-08-10
  • 1970-01-01
  • 2021-06-10
相关资源
最近更新 更多