我正在尝试使用某些条件过滤数据表中的数据,但条件是使用大小写条件,如下所示
DataTable dt = (DataTable)ViewState["FilteredData"];
string expression = string.Format("MAKER_BY = CASE WHEN '" + MakerBy.Trim() + "'='A' THEN MAKER_BY ELSE '"+ MakerBy.Trim() + "' END");
dt = dt.Select(expression).CopyToDataTable();
当执行上面的代码时,我收到错误说,'WHEN'运算符后缺少操作数。 任何帮助将不胜感激。 谢谢。
答案 0 :(得分:4)
过滤器表达式不支持 cordova-plugin-camera@2.4.1
cordova-plugin-device@1.1.6
但是,他们支持CASE
。
有关详细信息,请阅读相关的Microsoft文档页面:DataColumn.Expression Property。
所以你可以这样做:
IIF
然而,有一种更简单的方法:
string expression = string.Format("MAKER_BY = IIF('" + MakerBy.Trim() + "'='A', MAKER_BY, '"+ MakerBy.Trim() + "')");