• Dynamics AX 2012 R2 从代码中调用SSRS Report


        平时,我们制作SSRS Report的方法主要有两种:使用Query或RDP。如果需要为报表传递参数,就要在代码中为报表参数赋值,然后在代码中调用报表。下面我总结下这两种报表在代码中传参和调用的方式:

    1、使用Query作为报表数据源

    1.1、Dynamic Filters属性

        在VS中,需要注意Report DataSourceDynamic Filters属性。

    1.1.1、如果Dynamic Filters属性为True的话,会在Report Parameter中生成一个叫做DS_DynamicParameter的参数。

    Screenshot20150115171132

        并在Report Preview时,生成一个Select Button,用于配置Report Parameter

    Screenshot20150115171743

    1.1.2、如果Dynamic Filters属性为False的话,会将AOT Query Range中的参数,一个一个添加到Report Parameter中。比如我的AOT Query Range中有4Parameter,那么在Report Parameter中就自动添加四个相应的参数:

    Screenshot20150115170919

    并在Report Preview时,生成4TextBox,用于输入Report Parameter

    Screenshot20150115171918

    1.2、如何在X++ 代码中调用这种类型的报表

        Reinhard这里将前面的Dynamic Filters属性为False。然后在代码中这样写:

    SrsReportRunController controller;
    controller=new SrsReportRunController();
    controller.parmReportName(ssrsReportStr(YourSSRSReportName,YourReportDesignsName));
    if(controller.parmReportContract().parmRdlContract())
    {
        controller.parmReportContract().parmRdlContract().setValue('DS_PersonnelNumber','PersonnelNumber0101');
    }
    controller.parmDialogCaption('DialogCaption');
    controller.startOperation();

    2、RDP Report

        如果使用RDP报表,也将之前提到的Dynamic Filters属性设为False。然后在代码中这样写:

    SrsReportRunController controller;
    YourReportDataContract contract;
    controller=new SrsReportRunController();
    controller.parmReportName(ssrsReportStr(YourSSRSReportName, YourReportDesignsName));
    contract=controller.parmReportContract().parmRdpContract() as YourReportDataContract;
    contract.YourParameter('YourParameterValue010101101');
    controller.parmDialogCaption('DialogCaption');
    controller.startOperation();
  • 相关阅读:
    每月碎碎念 | 2019.7
    聊聊HTML5中的Web Notification桌面通知
    Python的海龟绘图法小知识
    面向对象是什么意思?通俗易懂
    HTML实体
    gcc错误[Error] ld returned 1 exit status
    Markdown怎么使用制表符TAB键?为什么TAB失灵了?
    力扣题解——2的幂
    Jquery中的Ajax
    7个你可能不认识的CSS单位
  • 原文地址:https://www.cnblogs.com/msdynax/p/call-ssrs-report-in-code.html
Copyright © 2020-2023  润新知