【问题标题】:How can i filter more than 1 column at datagrid如何在数据网格中过滤超过 1 列
【发布时间】:2018-08-06 14:02:18
【问题描述】:

我使用这个工作代码从文本框中搜索任何部分单词,但只是在一列中(名字)并返回DataGridView中的过滤结果:

  ContactsTableBindingSource.Filter = String.Format("{0} LIKE '%{1}%'", "Firstname", TextBox1.Text)

如何在其他列中搜索?我试过一些这样的代码:

  ContactsTableBindingSource.Filter = String.Format("{0} LIKE '%{1}%'", "Firstname" OR ContactsTableBindingSource.Filter = String.Format("{0} LIKE '%{1}%'", "Lastname", TextBox1.Text)

 

  ContactsTableBindingSource.Filter = String.Format("{0} LIKE '%{1}%'", "Firstname" OR "Lastname", TextBox1.Text)

但不起作用! 谁能告诉我在任何列中搜索任何部分单词的正确语法是什么?

【问题讨论】:

  • 帮自己一个大忙,然后转到工具菜单->选项->项目和解决方案->VB默认设置页面。将 Option Strict On 设置为新项目的默认设置。要修复现有项目,项目菜单->“项目名称”属性->编译选项卡并设置选项严格。为什么?因为这样 VS 会提示您进行错误类型操作,例如上面显示的,然后您可以阅读有关如何自己修复这些错误的文档。 Option Strict Off 告诉编译器做任何它可以做的事情来让你的代码编译,即使结果经常是错误的。

标签: vb.net datagridview filter dataset bindingsource


【解决方案1】:

您的语法不正确。 Filter 属性中实际上允许使用布尔表达式。示例:

String.Format("{0} LIKE '%{2}%' OR {1} LIKE '%{2}%'", "Firstname", "Lastname", TextBox1.Text)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 1970-01-01
    • 1970-01-01
    • 2012-08-07
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    相关资源
    最近更新 更多