作成日: 2024/04/10 最終更新日: 2024/04/11
文書種別
使用方法
詳細
.NET (6+) でActiveReportsを使用するとき、以下の点にご留意ください。
- コード形式セクションレポートのデザイナは非対応
- セクションレポートのレンダリングエンジンが.NET Frameworkと異なる
- サポートされているエンコーディングが.NET Frameworkと異なる
- 書式(Format)の適用結果が.NET Frameworkと異なる場合がある
コード形式セクションレポートのデザイナは非対応
コード形式セクションレポート(.cs/.vb)のデザイナは .NET に対応していません。
XML形式セクションレポート(.rpx)を使用するか、以下のヘルプトピックやブログ記事で紹介している方法のように .NET Framework のプロジェクトを利用してレポートを編集してください。
ActiveReports(セクションレポート)をASP.NET Core(Linux)で使用する(2)| GrapeCity.devlog
※18.0Jの初版には以下の不具合があります。
.NETのプロジェクトにコード形式セクションレポートを追加できない
セクションレポートのレンダリングエンジンが.NET Frameworkと異なる
.NET では、クロスプラットフォームに対応した新しいレンダリングエンジンがデフォルトで使用されます。これは .NET Framework で使用される旧来のレンダリングエンジン(GDI)とは異なるため、描画結果にも差異が発生する場合があります。
詳しくは以下のナレッジをご確認ください。
セクションレポートのCompatibilityModeプロパティについて
サポートされているエンコーディングが.NET Frameworkと異なる
.NET でサポートされているエンコーディング(文字コード)は .NET Framework と比較して少なくなっています。詳細は以下をご確認ください。
[CodePagesEncodingProvider Class (System.Text) | Microsoft Docs]
https://docs.microsoft.com/en-us/dotnet/api/system.text.codepagesencodingprovider
この差異が影響して以下のような問題が発生する場合があります。
-
バーコードを表示できない
Barcodeコントロールを含むレポートを描画するとき、以下の例外が発生します。
No data is available for encoding 932. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
-
GDIレンダリングのセクションレポートをPDFに出力できない
CompatibilityModeにGDIを設定したセクションレポートをPDFに出力するとき、以下の例外が発生します。
No data is available for encoding 1252. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
-
Shift-JISエンコーディングのCSVファイルを読み込めない
Shift-JISエンコーディングのCSVファイルをレポートのデータソースに設定している場合、文字化けが発生します。
上記のような問題が発生する場合は、レポートを描画する前にエンコーディングの登録処理を実行してください。
◆サンプルコード (C#)
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
書式(Format)の適用結果が.NET Frameworkと異なる場合がある
.NET 5以降のバージョンでは、グローバリゼーション機能でICU (International Components for Unicode) が使用されます。そのため、従来のNLS (National Language Support) を使用している.NET Frameworkとは、書式の適用結果などに差異が生じる場合があります。
たとえば、日付データ(2022/01/01)を表示するTextBoxのFormatプロパティにMMMを設定したとき、それぞれ以下の結果になります。
| .NET Framework | .NET (6+) | |
| Windows | 1 | 1月 |
| Linux | (実行不可) | 1月 |
本動作はプラットフォームに依存した制限事項となります。
実際の運用環境にあわせた書式を設定するか、書式を使用せずに独自に文字列を加工する方法などをご検討ください。上記の例の場合、Month関数で月数(0埋めなし)を取得する方法などが有効です。
【参考情報】
.NET グローバリゼーションと ICU