c# - C 语言中的 DataTable 过滤问题(标题中使用的特殊字符)
问题描述
我试图用我找到的代码片段在 C# 中过滤我的 datagridview,但我不知道我应该在“名称”的位置写什么。
如果我过滤名称只是一个单词的列,它会起作用,但在我的情况下,它甚至可以是句子。如果我使用多个单词,则会引发语法错误。
(dataGridView.DataSource as DataTable).DefaultView.RowFilter = string.Format("Name={0}",searchBox.Text);
解决方案
试试这个代码。在 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;
推荐阅读
- drools - Instancof 在流口水规则引擎 drl 文件中不起作用
- c - 使用 LoadLibrary() 加载的 dll 未被访问,显示错误“找不到 dll”
- java - Java:修改作为可调用对象传递的匿名函数的参数
- android - 如何从android firebase实时数据库中的onDataChange返回arrayList
- c# - 有没有办法向剃须刀 PageModel 添加扩展方法?
- istio - Istio 断路器黑名单/白名单错误代码
- java - Hybris 站点地图不包含所有产品
- google-tag-manager - 为什么数据层显示在源代码中但不在 GTM 调试器中
- reactjs - 找不到@typescript-eslint/no-unused-expressions'
- tree - 蒙特卡洛树搜索扩展