我有一个 rdlc 报告,它作为 ReportDataSource a List<BaseClass>
。
BaseClass
有两个派生类A
和B
.
在报告中,我根据基类的属性进行分组。只要列表只包含A
or的对象B
,一切正常。A
但是,如果我从和混合实例B
,则报告创建失败并显示以下消息:
分组“[组名称]”中使用的组表达式引用了包含错误的数据集字段:FieldValueException
该属性为两个类返回一个简单的字符串文字,由类的常量支持,这没有什么问题。我还检查了所有其他使用的属性,但它们没有任何问题。
有没有其他人看到过这种行为,或者有人对这种行为有过解释?在我看来,报表查看器不喜欢多态性!可以吗?
例子
public abstract class BaseClass{
public abstract string GroupKey{get;}
}
public class A : BaseClass{
public override string GroupKey{
get{
return ...
}
}
}
public class B : BaseClass{
public override string GroupKey{
get{
return ...
}
}
}