Report Viewer 8.0.50727.42 を使用する .Net 2.0 の古い C# プロジェクトがあり、それを Visual Studio 2010 にインポートし、.Net 3.5 および Report Viewer 10.0.40219.1 を使用するように変更しました。データの列には、値の代わりに #Error が表示されます。
データベースは、SQL コンパクト 3.5 SDF ファイルです。
表示したいイベント クラスのリストがあり、各イベントにはクラス EventType の属性があります。
したがって、Type 列については、rdlc の式として次のようになります。
=Fields!EventType.Value
そして、私の EventForm では、DataSources.Add() 関数にブレークポイントを配置しました。次のようになります。
ReportDataSource reportDataSource = new ReportDataSource("Manager_Base_Event", bindingSource);
reportViewer.LocalReport.DataSources.Add(reportDataSource);
そこで壊れると、スタックに必要なデータが表示されますが、#Error が表示され、残念ながら、私が見る限り、その理由はわかりません。
[Serializable()] を Event および EventType クラスに配置しようとしましたが、役に立ちませんでした。
データが表示されない正確な理由を取得するためにこれをより適切にデバッグする方法を知っている人はいますか?
私を混乱させているのは、他のレポートの他のクラスで同じようなことをしていて、まったく問題がないので、なぜこれが機能しないのかわかりません。
重要な場合は、[TypeConverter(typeof(EventTypeTypeConverter))] の EventType クラスに属性があります。
関連している可能性があると思いましたが、これが問題を引き起こす可能性があることを確認するものは見つかりませんでした.