2

私は英語とアラビア語をサポートするプログラムに取り組んでおり、現在はプログラム レポートを作成しています。

WindowsFormsApplication (C#) の ReportViewer コントロールで SSRS を使用することを選択しました。言語 (LTR 英語、RTL アラビア語) に従って Tablix の DirectionLayout プロパティを変更する方法を検索し、多くの解決策を試しましたが、成功しませんでした。

2 つのレポートを作成したり、言語ごとに 1 つずつ 2 つの Tablix を含む 1 つのレポートを作成したりしたくありません。

今、私は次のことをしようとしています:

  1. SSRS Web サービスを使用してレポート定義を取得する
  2. レポート定義を編集する (Tablex DirectionLayout を RTL に変換する)
  3. SSRS 実行サービスを使用して定義を読み込み、レポートをレンダリングする
  4. 表示されたレポートを ReportViewr コントロールに割り当てる

それは可能ですか?そして、このタスクを達成するためにどこを検索できますか?

4

1 に答える 1

1

1) 使用している SSRS のバージョンに応じて、GetReportDefinition メソッド ( http://msdn.microsoft.com/en-us/library/reportservice2005.reportingservice2005.getreportdefinition(v=sql.100).aspx ) またはGetItemDefinition ( http://msdn.microsoft.com/en-us/library/reportservice2010.reportingservice2010.getitemdefinition.aspx )

2) RDL オブジェクト モデルを使用して RDL を編集できますが、これは簡単ではなく、Microsoft.ReportingServices.RdlObjectModel 名前空間のクラスは internal とマークされています (SSRS 2008 R2 以降)。Teo Lachev のサンプル コードはhttp://prologika.com/CS/blogs/blog/archive/2010/03/08/where-is-rdlom-in-r2.aspxで、Lionel Ringenbach のサンプル コードはhttps:/にあります。 /github.com/Ucodia/Blog-CustomReportingServices .

RDL オブジェクト モデルのクラスとメソッドに関するリファレンス情報については、http://msdn.microsoft.com/en-us/library/ff493708を参照してください。

3-4) 編集したレポートをサーバーに展開し、ReportViewer コントロールで呼び出す方が簡単だと思います。次に、利用可能なメソッドを簡単な方法で活用できます。ReportViewer コントロールは、レンダリングを直接処理できます。Web サービスによる展開に関する情報は次のとおりです: http://tomyrhymond.wordpress.com/2011/08/07/sql-server-reporting-services-deploying-rdl-files/

于 2012-08-30T13:17:21.860 に答える