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

本文关键字:IF ELSE CASE DataColumn Expression | 更新日期: 2023-09-27 18:34:54

>我有一个有 1 列的表格:"状态"我想添加另一列名为"操作",其值如下:如果状态 = "是",则操作 = "开始",否则,操作 = "停止"。我使用以下代码在"操作"列中添加,但它不起作用:

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

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

您要查找的表达式是:

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

数据表不支持标准的 SQL CASE语句,也不支持"IF...否则"的声明。您必须使用内联 if 函数:IIF

请参阅 DataColumn.Expression Property (MSDN(

不知道

从什么时候开始,但现在支持它,您可以使用 IIF 函数作为列表达式(在此处查看(

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