C# BindingSource无法执行';比如';对System.DateTime和System.String的操作

C# BindingSource无法执行';比如';对System.DateTime和System.String的操作,c#,datagridview,datagridviewcolumn,C#,Datagridview,Datagridviewcolumn,我想使用搜索框过滤datagridview,我有一个可以很好地处理字符串的函数,但我不知道为什么在将此函数用于包含int/date值的列时会出现异常: public void SearchTable(TextBox searchBox, String columnNameToSearch, int Type) { BindingSource bs; switch (Type) { case NUMERIC_COLU

我想使用搜索框过滤datagridview,我有一个可以很好地处理字符串的函数,但我不知道为什么在将此函数用于包含int/date值的列时会出现异常:

 public void SearchTable(TextBox searchBox, String columnNameToSearch, int Type)
    {
        BindingSource bs;
        switch (Type)
        {
            case NUMERIC_COLUMN:
                bs = new BindingSource
                {
                    DataSource = _dgv.DataSource,
                    Filter = columnNameToSearch + " = " + searchBox.Text.Trim()
                };
                _dgv.DataSource = bs;
                break;
            case TEXT_COLUMN:
                bs = new BindingSource
                {
                    DataSource = _dgv.DataSource,
                    Filter = columnNameToSearch + " LIKE '" + searchBox.Text.Trim() + "%'"
                };
                _dgv.DataSource = bs;
                break;
        }
    }
这是一个例外:


当我尝试在SQL server中进行查询时,查询工作正常

DateTime是一种数字类型-你不能像处理数字那样。1等于10吗?使用类似于>或@puropoix的东西谢谢你的回答我使用的“=”对我不起作用我得到:无法在System.DateTime和System.Int32上执行“=”操作。假设要搜索的列实际上是DateTime类型,你必须将
搜索框中的内容转换为相同的类型。使用DateTime.TryParse()…非常感谢您在搜索后我在筛选器中错过了“”,谢谢!