2013-10-11 3 views
0

У меня есть таблица с 1 колонкой: «Статус» Я хочу, чтобы добавить в другом столбце «Действие», его значение будет следующим:Как использовать CASE WHEN в DataColumn.Expression?

 
If column Status = '0' Then Action = 'Start', 
If column Status = '1' Then Action = 'Ready', 
If column Status = '2' Then Action = 'Go', 

Как добавить столбец с выражением, как это?

Я попытался следующие, но это не работает:

myDataTable.Columns.Add("Action", "CASE (WHEN [Status] = '0') THEN "Start") 

ответ

0

Ваши котировки не соответствуют друг другу, и вам не хватает параметр типа столбца для метода Add.

Кроме того, выражения, похоже, не поддерживают инструкции CASE. Попробуйте вложенную IIF вместо:

Попробуйте это:

workTable.Columns.Add("Action", 
         typeof(string), 
         "IIF([Status] = '0', 'Start', IIF([Status] = '1', 'Ready', 'Go'))"); 

Документация: http://msdn.microsoft.com/en-us/library/system.data.datacolumn.expression.aspx

Смежные вопросы