为什么我的datagridview.rowfilter不起作用。我一直收到语法错误消息

时间:2010-02-26 17:33:53

标签: c# ado.net datagridview rowfilter

我的应用程序有一个填充的数据表,并通过设置datasource属性将其绑定到ddatagridview。

在运行时,我想过滤此表。当用户单击按钮时,我运行以下代码:

dataManager.VDMSTables.DataTable.DefaultView.RowFilter = column + " LIKE '%" + criteria + "%'";

正确填充所有类。在运行时,当我到达此行时,我收到以下错误消息:

语法错误:'Data'运算符后缺少操作数。我用于构建rowfilter的变量已正确填充。即使我硬编码一个字符串,我仍然会得到同样的错误。为什么呢?

1 个答案:

答案 0 :(得分:2)

当您在调试器中查看时,您构建的实际字符串是什么样的? “数据”这个词没有显示在那里,是吗?

如果是这样,那么它告诉你数据是一个保留字,你需要将其标记为这样。如:

dataManager.VDMSTables.DataTable.DefaultView.RowFilter 
    = String.Format("[{0}] LIKE '%{1}%'"
        , column
        , YourSingleQuoteEscape(criteria) );

这会产生:

"[Data] like '%strawberries%'"

...应该为你的RowFilter正确解析。