如何在DataColumn.Expression中使用IF/ELSE或CASE?

8

我有一个只包含1列“状态”的表格。我想添加另一列名为“操作”,其值如下:如果状态=“Yes”,则操作=“前进”,否则操作=“停止”。我使用以下代码添加'Action'列,但它没有起作用:

myDataTable.Columns.Add("Action", typeof(string), "IF [Status] = 'Yes' THEN 'Go' ELSE 'Stop' END");
2个回答

19

你要找的表达式是:

IIF( [Status] = 'Yes', 'Go', 'Stop' )

DataTables不支持标准SQL的CASE语句,也不支持“IF...ELSE”语句。您必须使用内联if函数:IIF

请参阅DataColumn.Expression Property (MSDN)


0

不知道从什么时候开始,现在已经支持了,您可以将IIF函数用作列表达式(在这里检查

例如:myDataColumn.Expression = "**IIF(total>1000, 'expensive', 'dear')**"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接