DataColumn.Expression属性。将当前列的bool值转换为string

时间:2014-02-19 11:23:59

标签: c# datatable datacolumn

我正在尝试添加表达式,它将当前列的布尔值更改为字符串值,用于DataColumn:

col = new DataColumn("isDirectionIn", typeof(string),
                                     "IIF(isDirectionIn = true, 'in', 'out')");

但是我总是得到一个ArgumentException:由于表达式中的循环引用,无法设置Expression属性。

我应该怎么做才能避免这种异常?提前谢谢。

1 个答案:

答案 0 :(得分:2)

错误消息告诉您,您在计算表达式列时引用了“表达式”列,因此是循环引用。

您需要执行以下操作:

col = new DataColumn("isDirectionAsString", typeof(string),
                                     "IIF(isDirectionIn = true, 'in', 'out')");

换句话说,你不能“就地”这样做。您需要一个额外的列作为“as string”值。

干杯