ReportDataSourceにはList<BaseClass>
というrdlcレポートがあります。 BaseClass
は、2つの派生クラスA
とB
を持っています。
レポートでは、ベースクラスのプロパティに基づいてグループ化します。リストにはA
またはB
のオブジェクトしか含まれていない限り、すべて正常に動作します。しかし、私はA
とB
からインスタンスを混ぜた場合、そのレポートの作成は、次のメッセージで失敗します。ReportViewer 2010はポリモーフィズムで苦労しています
のグループ化に使用されるグループの式「[グループ名]」の参照エラーが含まれているデータセットフィールド: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 ...
}
}
}