请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

tangke888 Wyn认证

高级会员

108

主题

334

帖子

1564

积分

高级会员

积分
1564

活字格高级认证Wyn认证活字格认证

QQ
tangke888 Wyn认证
高级会员   /  发表于:2025-1-22 23:36  /   查看:77  /  回复:3
1金币
本帖最后由 tangke888 于 2025-1-22 23:38 编辑

https://github.com/activereports/WebSamples18/tree/main/WebDesigner_CustomStore




谢谢
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

您好,其他的确实没有,主要示例写了也不好连接数据库,不过其实如果您自己写比较简单,示例会写的比较完整。 实际上自定义存储,无论是针对设计器还是查看器,原理都是一样。都是实现方法: UseReport(s)Provider 然后里面需要实现一个接口。设计器继承:IReportStore。查看器继承IReportProvider。 例如: new reportProvider()就是实现对应的接口 继承后,会让你实现对应的方法就行: 其实实际上就是设计器需要实现报表 ...

3 个回复

倒序浏览
最佳答案
最佳答案
Felix.LiWyn认证
超级版主   /  发表于:2025-1-22 23:36:43
来自 2#
您好,其他的确实没有,主要示例写了也不好连接数据库,不过其实如果您自己写比较简单,示例会写的比较完整。

实际上自定义存储,无论是针对设计器还是查看器,原理都是一样。都是实现方法:
UseReport(s)Provider
然后里面需要实现一个接口。设计器继承:IReportStore。查看器继承IReportProvider。
例如:
  1. config.UseReportProvider(new reportProvider());
复制代码
new reportProvider()就是实现对应的接口
继承后,会让你实现对应的方法就行:

其实实际上就是设计器需要实现报表的增删改查。传递参数基本就是报表名称,也就是我们根据报表名称在数据库去查报表。
其次对于我们报表,实际上就是一个xml文件,所以存储数据库的时候,存储Text类型,然后把xml的文本存起来就可以了。读取的时候,返回的也是一个Stream流,其实就是一个文本流,xml的文本流。
比如您把存的报表文件的文本从数据库获取到了。直接
new MemoryStream(Encoding.UTF8.GetBytes(reportString));
返回即可。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
tangke888Wyn认证
高级会员   /  发表于:2025-1-23 11:18:43
3#
谢谢大佬 指导
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2025-1-24 17:51:24
4#
一起学习
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部