none
WindowsフォームのReport Viewerから作成するrdlc RRS feed

  • 質問

  • Visual Studio 2017 Community(15.7.5)を使用しておりまして、ちょっとわからないことがあります。

    WindowsフォームのReport Viewer(アセンブリバージョンは12.0.0.0)コントロールのデザイナ画面で「新しいレポートをデザインします。」を押して、空のrdlcファイルを作成したあと、レポートデザイナで編集しています。

    当初、rdlcファイルの定義は、
    "http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition
    となっているのですが、たぶん、レポートパラメータを追加したとき、または、ページヘッダかページフッタを追加したときに定義が、

    "http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition"
    に変わってしまいます。
    レポート定義のバージョンが「2016/01」に変わってしまうと、「新しいレポート定義」だとして怒られてしまいます。
    それで、「2016/01」のところを「2008/01」に直すと、今度は未定義のノードがあるとして怒られました。
    ReportSections、ReportSection、ReportParametersLayoutとその子ノードを削除すると、レポートが表示されるのですが、あとでデザイナで編集すると、元に戻ってしまいます。
    なにか、バージョンコンフリクトでも起こしてしまっているのでしょうか? 悩んでいます。

    2018年7月14日 18:17

すべての返信



  • > Visual Studio 2017 Community(15.7.5)を使用しておりまして、ちょっとわからないことがあります。

    > WindowsフォームのReport Viewer(アセンブリバージョンは12.0.0.0)コントロールのデザイナ画面で「新しいレポートをデザインします。」を押して、空のrdlcファイルを作成したあと、レポートデザイナで編集しています。

    Visual Studio 2017 で使用する ReportViewer のバージョンは 14 で、NuGet からインストールするようです。詳しくは以下の記事を見てください。

    ReportViewer コントロールを使用した Reporting Services の統合 - 概要
    https://docs.microsoft.com/ja-jp/sql/reporting-services/application-integration/integrating-reporting-services-using-reportviewer-controls-get-started?view=sql-server-2017

    12 と 14 のバージョンの違いが質問者さんの遭遇している問題の原因かは分かりませんが・・・
    2018年7月15日 1:25
  • 返信ありがとうございます。
    nugetからバージョン14をインストールしてみましたが、コントロールのツールボックスへの登録まではOKでしたが、フォームにコントロールを配置しようとすると、エラーが発生しました。

    System.Runtime.InteropServices.COMException(0x80004005)だそうです...
    アセンブリが他にいるんでしょうかね。

    2018年7月15日 5:43
  • 以下のスレッドの gekka さんのレスにあるようにインストールされたのでしょうか?

    VisualStudio community 2017のReportViewerについて
    https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/885a094d-3d3a-4bdd-81fb-b479e8ea4276/visualstudio-community12288201712398reportviewer12395123881235612390?forum=vsgeneralja
    2018年7月15日 6:15
  • 返信ありがとうございます。

    そうですね。インストールとコンポーネントの登録はできましたが、フォームに配置しようとドラッグ&ドロップしたところで上記のエラーが発生しました。フォームの見た目上、コントロールが配置されているように見えないので、配置に失敗していると思います。

    2018年7月15日 7:05
  • > そうですね。

    「そうですね」とはどういう意味か不明ですが、紹介したとおりにやってもダメということですと、自分には解決策は分かりません。

    お役に立てずすみませんが、他の方の回答をお待ちください。
    2018年7月16日 0:53
  • 返信遅くなり申し訳ありません。

    言葉足らずでした。すみません。紹介していただいたとおりにやってみましたところ、インストールとコンポーネントの登録までは問題ありませんでしたが、フォームに新しい(v140の)Report Viewerをドロップしたところ、System.Runtime.InteropServices.COMException(0x80004005)

    が発生しまして、私の知識ではどうすることもできなくなりました。

    気分を害されたら申し訳ありませんでした。

    2018年7月16日 14:41