如何在Telerik Report Designer的SQL数据源存储过程选项下显示视图
Telerik Report Designer 存储过程选项下同步展示视图的实现方案
默认情况下Telerik Report Designer的SQL Data Source组件的数据源类型单选按钮为互斥逻辑:选中存储过程选项时,工具只会拉取数据库内类型为存储过程的对象;选中表/视图选项时才会拉取表和视图对象。要在存储过程选项下同步展示视图,可以通过以下两种方案实现:
方案1:无需修改工具原生逻辑,兼容所有版本
- 打开SQL Data Source配置向导后,不选择存储过程单选按钮,直接选择查询语句选项
- 既可以输入视图查询语句,例如
SELECT * FROM [自定义视图名称],也可以输入存储过程调用语句,例如EXEC [存储过程名称] @参数1 = 赋值,可同时兼容两类对象的调用需求
方案2:修改工具筛选逻辑,永久生效(适合批量使用场景)
- 找到Telerik Report Designer安装目录下的扩展开发接口,自定义实现
IDbCommandBuilder接口 - 在接口的
GetSchema方法中修改原有存储过程的筛选条件:原筛选逻辑仅会匹配ROUTINE_TYPE = 'PROCEDURE'的对象,将筛选规则调整为同时匹配视图对象即可,例如SQL Server环境下可调整为ROUTINE_TYPE = 'PROCEDURE' OR TABLE_TYPE = 'VIEW',不同数据库的系统表字段可对应调整 - 将自定义实现的类注册到
Telerik.ReportDesigner.exe.config配置文件中,替换默认的命令构建器实现,后续选中存储过程单选按钮时,列表就会同步展示存储过程和视图
注意:方案2需要和你当前使用的Telerik Reporting版本匹配,升级工具版本后需要重新部署自定义扩展
内容的提问来源于stack exchange,提问作者Kapil Jain
相关产品推荐
相关产品推荐

