博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[AX]AX2012 SSRS报表Drill through action
阅读量:6112 次
发布时间:2019-06-21

本文共 1787 字,大约阅读时间需要 5 分钟。

SSRS报表显示的字段可以添加两种Drill through action,一是Report Drill Through Action,这要用到两个报表,一个顶级报表的某个字段添加drill through操作,另一个报表在top report中点击drill through的时候呈现出来以显示一下额外的信息。

上图显示的是在顶级报表的Name字段下新建了一个report dirll through action,通过子报表的参数SelectedAssertId传递所选择纪录的信息。

上图则是子报表,在子报表中根据传入的参数SelectedAssertId对数据做了过滤,总体上讲这种Drill through还是比较简单的。

 

另外一种Drill through称为URL Drill Through Action,其实现方法是在drill action中返回一个表达式指向的URL,要动态的实现URL,可以使用report data method,比如系统自带的HcmAbsenceSetup报表:

DrillWorkder是一个report data method,是这样定义的:

[DataMethod(), PermissionSet(SecurityAction.Assert, Name = "FullTrust")]    public static string DrillWorker(string reportContext, string personnelNumber)    {        return DrillThroughCommonHelper.ToHcmWorker(reportContext, personnelNumber);    }

这里用到了DrillThroughCommonHelper帮助类,由它生成相关动作的链接,包含在SRSDrillThroughCommon工程中,内部用到了DrillthroughHelper类,在命名空间Microsoft.Dynamics.AX.Application.Reports下,这个类提供方法来生成到AX MenuItem的链接,比如这样用:

[DataMethod(), PermissionSet(SecurityAction.Assert, Name = "FullTrust")]    public static string DrillThroughLinkToRoom(string reportContext, object fieldValue)    {        string tableName = "FCMRooms";        Dictionary
fields = new Dictionary
(); fields.Add("RecId", fieldValue); if (RuntimeReportContext.IsClientContext(reportContext)) { // The report is being run from the Microsoft Dynamics AX client. return DrillthroughHelper.GenerateLinkToAXMenuItem(reportContext, "FCMRoomsForm", MenuItemType.Display, tableName, fields); } else { // The report is being run from Enterprise Portal. return DrillthroughHelper.GenerateLinkToAXMenuItem(reportContext, "RoomDetails", MenuItemType.WebMenuItemTypeUrl, tableName, fields); }

更多内容详见

 

转载地址:http://iacka.baihongyu.com/

你可能感兴趣的文章
WEB请求处理一:浏览器请求发起处理
查看>>
Lua学习笔记(8): 元表
查看>>
PHP经典算法题
查看>>
LeetCode 404 Sum of Left Leaves
查看>>
醋泡大蒜有什么功效
查看>>
hdu 5115(2014北京—dp)
查看>>
数据结构中常见的树(BST二叉搜索树、AVL平衡二叉树、RBT红黑树、B-树、B+树、B*树)...
查看>>
PHP读取日志里数据方法理解
查看>>
第五十七篇、AVAssetReader和AVAssetWrite 对视频进行编码
查看>>
Vivado增量式编译
查看>>
一个很好的幻灯片效果的jquery插件--kinMaxShow
查看>>
微信支付签名配置正确,但返回-1,调不出支付界面(有的手机能调起,有的不能)...
查看>>
第二周例行报告
查看>>
Spring学习(16)--- 基于Java类的配置Bean 之 基于泛型的自动装配(spring4新增)...
查看>>
实验八 sqlite数据库操作
查看>>
四种简单的排序算法(转)
查看>>
Quartz2D之着色器使用初步
查看>>
多线程条件
查看>>
Git [remote rejected] xxxx->xxxx <no such ref>修复了推送分支的错误
查看>>
Porter/Duff,图片加遮罩setColorFilter
查看>>