ReportDataSource として取る rdlc レポートがありますList<BaseClass>。
BaseClassには、 と の 2 つの派生クラスがAありBます。
レポートでは、基本クラスのプロパティに基づいてグループ化しています。Aリストにまたはのオブジェクトのみが含まれている限り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 ...
}
}
}