1

最近、Microsoft.Reporting.WebForms 名前空間に属する Web ページで Microsoft ReportViewer コントロールを正常に使用できました。Server.ReportServerCredentials という ReportViewer のプロパティを使用して、資格情報 (ドメイン、ユーザー、およびパスワード) を設定しました。リモート サーバーにあるレポートを表示できました。

今、私は似たようなことをする必要がありますが、Windows フォームのレポートが必要です。私が抱えている問題は、Microsoft.Reporting.WinForms 名前空間に属するコントロールを使用していて、プロパティ ReportServerCredentials が READONLY であることです。

あるコントロールではこのプロパティが読み取り専用で、別のコントロールではレポートにアクセスするための資格情報を設定する必要があることを考慮していないのはなぜですか? これを回避するにはどうすればよいですか?

4

3 に答える 3

2

実際には読み取り専用ではありません。

MSDN-ReportServerCredentials クラスを確認してください。

資格情報を設定する方法は次のとおりです。

ReportServerCredentials reportCredentials = new ReportServerCredentials();
//SET THE CREDENTIALS HERE A LA reportCredentials.ImpersonateUser etc.
rvReportViewerControl.ServerReport.ReportServerCredentials = reportCredentials;

編集:

ReportViewer1.ServerReport.ReportServerCredentials.NetworkCredentials = reportCredentials.NetworkCredentials;
于 2011-02-22T17:13:15.687 に答える
0

これはあなたの質問自体には実際には答えませんが、WinForms レポート ビューアーの使用はスキップします。その理由と、Web ブラウザーを使用したより良い方法については、こちらの回答を参照してください (既にレポートにアクセスしている Web アプリを活用することもできます)。

于 2011-02-21T18:32:53.400 に答える
0

このコードを使用

dim myCred As NetworkCredential = New NetworkCredential("mmmmmm", "*****", "----")
ReportViewer1.ServerReport.ReportServerCredentials.NetworkCredentials = myCred

ReportViewerインターフェイスの実装を提供する必要があるコントロールの Webforms バージョンとは異なり、レポート ビューアーの winforms バージョンは直接IReportServerCredentials実装ReportServerCredentialsします。あなたの場合、NetworkCredentialオブジェクトを に割り当てることができますReportViewer.ServerReport.ReportServerCredentials.NetworkCredentials

于 2013-11-03T15:57:37.093 に答える