3

レポート ビューにパラメーターを渡したい。データベースからの値を含むドロップダウン リストと、ドロップダウン リストから項目を選択した後にレポートを表示するためのボタンがあります。

パラメータを追加するために私が書いたコードは次のとおりです

protected void Button1_Click(object sender, EventArgs e)
{
    RenderReport();
}

protected void RenderReport()
{
    try
    {
        ServerReport serverReport = ReportViewer1.ServerReport;
        ReportViewer1.ProcessingMode = ProcessingMode.Remote;
        try
        {
            serverReport.ReportServerUrl = new Uri("http://hedinaily-pc/Reports_HEDI");
        }
        catch (Exception ex)
        {
            Logger.Error(ex.Message, "");
        }
        serverReport.ReportPath = "~/Diagrammes/PresenceTotale.rdlc";
        ReportParameter employe = new ReportParameter();
        employe.Name = "Employe";
        employe.Values.Add(DropDownList1.SelectedValue);
        ReportViewer1.ServerReport.SetParameters( new ReportParameter[] { employe });
        ReportViewer1.Visible = true;               
    }

    catch (Exception ex)
    {
        Logger.Error(ex.Message, "");

    }

}

これが私のレポートのデータセットです

ここに画像の説明を入力

ログファイルを確認すると、次のエラーが見つかりました。

The attempt to connect to the report server failed.  Check your connection information and that the report server is a compatible version.

このエラーの原因を教えてください。Google で何時間も検索して、このLINKを見つけましたが、解決できませんでした。

4

4 に答える 4

3

このようにしてみてください...

ReportViewer1.ServerReport.ReportPath = "FooReport.rdlc";
ReportParameter[] reportParameter = new ReportParameter[2];
reportParameter[0] = new ReportParameter("fooFromDate", dateFrom.ToShortDateString());
reportParameter[1] = new ReportParameter("fooDateTo", dateTo.ToShortDateString());
ReportViewer1.ServerReport.SetParameters(reportParameter);
ReportViewer1.ServerReport.Refresh();

また.Refresh()、レポートが表示されるようにメソッドを呼び出す必要があります。

于 2012-08-29T11:48:38.200 に答える
0

このコードでテストできます

    ReportParameter[] yourParams = new ReportParameter[1];
    yourParams [0] = new ReportParameter("Employe", DropDownList1.SelectedValue);//Adjust value

    this.ReportViewer1.ServerReport.SetParameters(yourParams  );
于 2012-08-29T11:31:53.817 に答える
0

同じことを行う 1 つの方法は、[レポート パラメータ] ダイアログ ボックスを使用して、ローカル モードで処理されるレポートのパラメータを定義することです。条件付き書式をサポートしたり、式やコードで使用したりするパラメーターを定義できます。[レポート パラメーター] ダイアログ ボックスを使用して、レポート パラメーターをクエリ パラメーターにマップしたり、データ ソース フィルターで使用したりすることはできません。

そのため、sqlParameters を使用して、通常の操作で行うことができるように、SP にパラメーターを渡すことができます。次に、SP バインドを実行してレポート ビューアー データソースにバインドします。

于 2012-08-29T11:42:43.673 に答える
0

「レポート サーバーへの接続に失敗しました。接続情報を確認し、レポート サーバーが互換性のあるバージョンであることを確認してください。」エラー試行:

serverReport.ReportPath = "/Diagrammes/PresenceTotale";

それ以外の:

serverReport.ReportPath = "~/Diagrammes/PresenceTotale.rdlc";

于 2013-11-01T15:09:46.267 に答える