0

レポートページをセットアップして、すべてがレンダリングされ、まったく問題がないようにしました。すべてがうまく機能しました:)。

[レポートの実行] ボタンをクリックしたときにレポートをレンダリングしたいときに問題が発生します。これでも問題なく表示されますが、ツールバーとビューアが正しく接続されていません。ページ ナビゲーション ボタンのいずれかをクリックすると (「開始/終了ボタンに移動」ではありません)、現在のページ インデックスから NaN エラーが発生します。レポート ビューアのパーシャルがレンダリングされると、この内容が自動生成され、ツールバーが既にレンダリングされており、それを拾うのに問題があるようです. これは私のインデックスと ajax 呼び出しです.

<h2>Basic Error Report</h2>
@Html.Partial("_BasicErrorReportFilters")

<input type="button" value="RunReport" id="runReportBtn" onclick="RunReport()"/>
@Html.DevExpress().ReportToolbar(settings =>
    {
        settings.Name = "ReportViewerToolbar";
        settings.ReportViewerName = "reportViewer1";
    }).GetHtml()
<div id="reportDiv"></div>

Ajax 呼び出し:

$.ajax({
            type: "POST",
            url: '@Url.Action("ReportViewerPartial", "BasicError")',
            data: queryString,
            statusCode: {
                200: function (r) {

                    $('#reportDiv').html(r);
                    var dxo = new ClientReportToolbar('ReportViewerToolbar');
                    window['ReportViewerToolbar'] = dxo;
                    dxo.menuID = 'ReportViewerToolbar_Menu';
                    dxo.reportViewerID = 'reportViewer1';

                    dxo.InlineInitialize();

                },
                400: function(r) {

                },
                500: function(r) {

                }
            }
        });

    }

JavaScript でツールバーを再初期化していることがわかります。それを入れる前は、ツールバーはビューアをまったく拾いませんでした。

おかしなことに、NaN エラーが発生すると、開始ボタンと終了ボタンを適切に使用できます。これらのいずれかを使用すると、すべてのナビゲーション/エクスポート/印刷ボタンが正常に機能します。助けてくれてありがとう。

乾杯

4

1 に答える 1

0

問題が見つかりました。

再初期化するとき、このコードの束があるようです:

 var dxo = new ClientReportToolbar('ReportViewerToolbar');
                    window['ReportViewerToolbar'] = dxo;
                    dxo.menuID = 'ReportViewerToolbar_Menu';
                    dxo.reportViewerID = 'reportViewer1';

そのコード ブロックでは機能しませんが、そのブロックの外に移動し、そこに dxo.initialize を入れるだけで機能します。

乾杯

于 2012-11-29T11:49:17.160 に答える