作成日: 2023/07/07 最終更新日: 2025/04/02
文書種別
技術情報
詳細
■C1Report(Reports for WinForms)のメンテナンスモード終了について
C1Report(Reports for WinForms)は、2018年12月31日をもってメンテナンスモードを終了しています。詳細については、下記情報をご参照ください。
◇メンテナンスモード情報
[2018年12月31日] Reports for WinForms/WPFのメンテナンスモード終了
■移行について
C1ReportからFlexReportへ移行することはできません。
C1Report(Reports for Windows Forms)の後継製品は、FlexReport(FlexReport for WinForms)ですが、両者の間に互換性はありません。
FlexReportはC1Reportの機能を参考にしていますが、クラス構造を含めて新規に作成されたコンポーネントで、両者は異なる製品となります。そのため、C1ReportからFlexReportへ移行することはできず、移行するためのツールや資料はありません。
■C1ReportからFlexReportへのアップグレードについて
移行はできないため、以下のいずれかの手順により、C1Reportで作成したプロジェクトをFlexReportにアップグレードしてください。
(A) 新たにVisual Studioプロジェクトを作成してFlexReportコントロールを貼り付け、手動で1から設定を行う
(B) 既存プロジェクトを開き、以下の手順を実施する
【アップグレード手順】
・既存Visual Studioプロジェクトを開きます。
・プロジェクトのプロパティで、「対象のフレームワーク」をFlexReportがサポートするものに変更します。
・C1Reportコントロールを削除し、FlexReportコントロールを追加します。
・C1Reportアセンブリの参照を削除し、FlexReportのアセンブリに差し替えます。
・license.licx内のC1Reportに関連する記載を削除し、FlexReportのライセンス記述を追加します。
削除例)
C1.C1Report.C1Report, C1.C1Report.4
C1.Win.C1Preview.C1PrintPreviewControl, C1.Win.C1Report.4
C1.Win.C1Preview.C1PreviewPane, C1.Win.C1Report.4
追加例)
C1.Win.FlexReport.C1FlexReport, C1.Win.FlexReport.4.8
C1.Win.FlexViewer.C1FlexViewer, C1.Win.FlexViewer.4.8
・C1Reportに関するコードを、FlexReportの機能を使用した設定に変更します。
(メモ)
C1Reportと類似した機能名のコードをそのまま流用できる場合もありますが、基本的にはFlexReportについてすべて手動で設定してください。
・プロジェクトをリビルドします。
なお、上述のようにC1ReportとFlexReportには互換性がなく、描画エンジンも異なるため、C1Reportと全く同じ処理をFlexReportで実装したり、同じ出力結果を得ることはできませんのでご了承ください。
■レポート定義ファイルのアップグレードについて
C1Reportのレポート定義ファイル(.xml)は、FlexReportのレポート定義(.flxr)と互換性があります。.xmlファイルをFlexReportデザイナで開くことで、自動的に.flxrにアップグレードすることができます。詳細については、下記情報をご参照ください。
◇製品ヘルプ
C1ReportからFlexReportへのアップグレード
ただし完全な互換性ではなく、アップグレード時にC1Reportのカスタムフィールドをサポートしないなど、実行結果が同一にならない場合があります。また、これを回避するための機能や方法は用意されておりません。FlexReportで類似するフィールドを使って、新たに設定し直してください。
■アップグレード時の注意点
以下に、C1Reportを使用した.NET Framework アプリケーションをFlexReportにアップグレードする際の注意点を記載します。
◆カスタムフィールド
C1Reportの"CustomeField"をFlexReportで使用することはできません。
一部のカスタムフィールドはFlexReport標準のフィールドで代替できる可能性があります。
詳細は、以下のナレッジをご参照ください。
◇ナレッジベース
[FlexReport for WinForms] カスタムフィールドを含むC1ReportをFlexReportに移行できますか?
◆"Field"フィールド
C1Reportの"Field"フィールドは、FlexReportでは互換性を維持するために提供されるレガシーフィールドとなります。FlexReportで新規にレポートを作成する場合には使用しないことをお薦めします。旧プロジェクトで使用していた場合、C1.Win.FlexReport.Fieldにキャストする必要があります。
例)
field1 = CType(C1FlexReport1.Fields("フィールド名"), C1.Win.FlexReport.Field)
◆プレビューおよび印刷用ドキュメント
C1Report(Reports for WinForms)は、印刷用ドキュメントを表すC1PrintDocumentとC1MultiDocument、ドキュメントのプレビュー表示用ダイアログボックスであるC1PrintPreviewControlが提供されていました。
これらの機能はバージョン2021J v2でC1Report(Reports for WinForms)から分離され、独立したアセンブリ(*)として再導入されました。
ただし、C1PrintDocument/C1PrintPreviewControl/C1MultiDocumentと、FlexReportの間に互換性はありません。FlexReportの描画結果をC1PrintDocumentとして操作するような処理は実現できませんのでご了承ください。
FlexReportをプレビュー表示する場合、FlexViewerコントロールを使用してください。
詳細は、以下のナレッジをご参照ください。
◇ナレッジベース
[FlexReport for WinForms] Reports for WinFormsのC1PrintDocumentとC1MultiDocumentの移行について
(2025/04/02 追記)
(*) このアセンブリは現在、「PrintDocument for WinForms」という名前のコンポーネントとして正式サポートされています。
なおこのコンポーネントは、単独で使用する他に、ComponentOneの下記コンポーネントのプレビューおよび印刷用コントロールとしても利用されています。
・Ribbon for WinForms
・GanttView for WinForms
・List for WinForms
・True DBGrid for WinForms
・Scheduler for WinForms