Anonymous 发表于 2017-4-27 12:06:47

ActiveReport运行时绑定数据源时如何判断是当前哪一张报表

使用RDL报表模板,Html5 Viewer进行页面渲染,在创建的报表服务文件ReportService中来进行运行时绑定数据源判断。如下图:      
这个是重写OnCreateReportHandler()方法给LocateDataSourceEventHandler事件指定事件处理函数,也是参考官方提供的示例代码



这个是判断哪一张报表代码,根据官方提供的html5 Viewer运行时绑定数据源示例代码中的方式



这个是代码中通过linq语法访问数据库获取报表需要展示的数据的代码,不知道是不是每一张需要动态绑定数据源的报表都需要在报表服务文件写判断代码及获取数据的代码,还是说有其他的方式。判断当前访问的是哪一张报表如果用上面的判断方法的话在设计报表时有没有设置报表名name的地方,还是说这种方式不可以,只能通过报表路径中截取文件名来判断,请求大神给指导下,不胜感激!



Lenka.Guo 发表于 2017-4-27 14:10:15

我在这边测试了有一种方法,即在报表中添加报表参数,并设置报表参数隐藏,为其赋默认值为常量==[&ReportName]。
然后再LocateDataSource方法中,通过   var temp1 = args.Report.Parameters.CurrentValue; 来获取当前报表的名称
页: [1]
查看完整版本: ActiveReport运行时绑定数据源时如何判断是当前哪一张报表