私は長年の読者であり、初めてのポスターです。私は 2 日間連続して Web を探し回りましたが、役に立たなかったので、助けを求めることにしました。何を手に入れたのか見てみましょう!:)
(申し訳ありませんが、私は新しいユーザーなので、スクリーン ショットを投稿することはできません。すべての時間を無駄に費やしました。:()
状況は次のとおりです。
1) 単一選択ドロップダウンを含む単純な SSRS 2008 レポートを作成しました。簡単にするために、「使用可能な値」を固定の値セットに設定しました。(この問題は、ドロップダウンを結果セットにバインドした場合にも発生するため、データのソースはここでは関係ないようです。)
2) レポートは、レポート ビルダーおよびレポート サーバー自体で実行すると正常に実行されます。
3) ただし、ASP.NET サーバーの "ReportViewer" コントロールからレポートを表示すると、単一の選択ドロップダウンがポストバックにバインドされません。つまり、ドロップダウンで値を選択して [View Report] ボタンをクリックすると、レポートは結果を返さず、ドロップダウンは選択したオプション [<Select a Value>] に戻ります。
4) この問題は、単一選択のドロップダウンでのみ発生します。複数選択ドロップダウン、テキスト ボックス、チェックボックスなどには、この問題はありません。
5) 参考までに、コントロールの設定方法を次に示します。コード ビハインドで ReportPath を設定する以外は (ページが最初に読み込まれるときに 1 回だけ)、コントロールをまったく操作しません。
<rsweb:ReportViewer ID="ReportViewer1" runat="server"
ProcessingMode="Remote"
Width="100%"
Height="800px"
AsyncRendering="False">
</rsweb:ReportViewer>
6) 私の開発環境: VS.NET 2010、ASP.NET Web フォーム、.NET 4 フレームワーク、Microsoft.ReportViewer.Common.dll (ファイル バージョン 10.0.30319.1)
私は数日間ウェブを精査しましたが、これと同じ問題を抱えている他の人への言及は見つかりませんでした. 関連しているようで、「解決策」が提案されているディスカッション スレッドが 1 つだけ見つかりました。彼らは、ReportViewer コントロールのポストバックされた値を手動で解析し、それらを List<ReportParameter> に入れて、ServerReport.SetParameters() を呼び出せるようにするクラスを作成しました。手動で (注: このページのソリューションは VS.NET2005 コントロール用であり、2010 で動作するように調整する必要があります)。確かにそれはうまくいきますが、なぜそんなに多くのフープを飛び越えなければならないのでしょうか? 繰り返しますが、それは私が何か根本的に間違ったことをしていると信じるように導きます.
何か案は?