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({
            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 回答