首页 > 解决方案 > C 语言中的 DataTable 过滤问题(标题中使用的特殊字符)

问题描述

我试图用我找到的代码片段在 C# 中过滤我的 datagridview,但我不知道我应该在“名称”的位置写什么。

如果我过滤名称只是一个单词的列,它会起作用,但在我的情况下,它甚至可以是句子。如果我使用多个单词,则会引发语法错误。

(dataGridView.DataSource as DataTable).DefaultView.RowFilter = string.Format("Name={0}",searchBox.Text);

标签: c#searchdatagridviewgoogle-sheets-api

解决方案


试试这个代码。在 DataGridView 的 Column 命名为长句子或包含特殊字符的情况下完美工作。在您的 winform 中使用带有 textChanged 事件的文本框:

        BindingSource bs = new BindingSource();
        bs.DataSource = PrintGrid17.DataSource;
        bs.Filter = string.Format("[Customer Name] like '%{0}%' OR Phone like '%{0}%' OR [EMI 17 Collection Status and Month/Year] like '%{0}%'", txtSearchPrint17.Text.Trim().Replace("'", "''"));
        PrintGrid17.DataSource = bs;

推荐阅读