8

I have a table with 1 column: 'Status' I want to add in another column named 'Action', its value will be as follow: if Status = 'Yes' Then Action = 'Go', otherwise, Action = 'Stop'. I used this following code to add in column 'Action' but it didn't work:

myDataTable.Columns.Add("Action", typeof(string), "IF [Status] = 'Yes' THEN 'Go' ELSE 'Stop' END");
J - C Sharper
  • 1,567
  • 7
  • 23
  • 36

2 Answers2

19

The expression you are looking for is:

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

DataTables do not support standard SQL CASE statements, nor do they support "IF... ELSE" statements. You must use the inline-if function: IIF

See DataColumn.Expression Property (MSDN)

JDB
  • 25,172
  • 5
  • 72
  • 123
0

Don't know since when but now it's supported, u can use IIF function as a column expression (check it here)

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

Simas Joneliunas
  • 2,890
  • 20
  • 28
  • 35