DataColumn.Expression提示“...循环引用”的错误

我碰到这个问题的时候,在网上找了找,找到了有好几个提出这个问题的人,但是都没有得到解答,当时很郁闷。然后再看看msdn中的解释与自己的测试,才把这个问题给解决了。

代码如下:

person.Columns.Add("sex",typeof(string));//person是DataTable类型。
person.Columns["sex"].Expression = "iif(Sex='1','男','女')";

如(提示"不能设置 Expression 属性,因为表达式中存在循环引用"),表示有同一个列名,存在多次的引用。如“Sex”列已经有值,你通过该列
计算表达式,然后又重新赋值到“Sex”列,就会出错。因为“Sex”已经使用了,你只能赋值到新的列中,就是未使用到的列中。一般计算的表达式
都要赋值到新的列中,而不是对原有的列进行赋值,因为原有的列在参与运算中,是不能重新赋值的。

posted @ 2013-06-23 14:41  殇曲?  阅读(670)  评论(0编辑  收藏  举报