0

ローカリゼーション/グローバリゼーションの目的でカスタムアセンブリを使用するレポートがあります。

翻訳オブジェクトを作成し(これを「ディクショナリ」と呼びます)、カスタムコードのOnInit()オーバーライドでこのオブジェクトのディクショナリプロパティを初期化します。

レポート本文ではすべて正常に機能しますが、上記で説明したオブジェクトをレポートヘッダーまたはレポートフッターで参照しようとすると、アクセスできません(オブジェクト参照がobjエラーのインスタンスに設定されていません)。

誰かがこれがなぜであるか、または私がそれを回避することができるかもしれない方法を教えてもらえますか?ヘッダーとフッター用にこのローカリゼーションオブジェクトを個別に再初期化する必要はありません。レポート定義内のどこからでもカスタムコードクラスインスタンスにアクセスできるという印象を受けました。

誰もがこれに当てることができる光を事前に感謝します。

4

2 に答える 2

0

これは仕様によるもののようです。カスタムクラスインスタンスには、レポートヘッダーまたはフッターからアクセスできません。私の解決策は、レポート式が呼び出すカスタムコード関数(疑似コード)にチェックを追加することでした。

If IsNothing(myCustObj){///myCustObjを初期化する}

これが最善の回避策のようです。

于 2011-04-20T12:51:54.757 に答える
0

実装についてはわかりませんが、インスタンスではなく静的メソッドを使用することをお勧めします。これが各デザインに常に最適であるとは限らないことを理解しましたが、あなたの場合、静的メソッドを使用できるように思えます。その場合、ヘッダーとフッターから呼び出されると、カスタムアセンブリ静的メソッドがすべてのデータを初期化します。 。実装またはインスタンスの作成をRDLに配置する方が簡単です。

于 2011-08-08T13:57:06.953 に答える