使用动态RDLC+动态数据源制作通用报表程序记录 需求背景篇(一)
我其实好懒的,一般就看。这次接了一个小项目翻查了好多资料 也在博客园里找到很多参考资料,所有的难点也都想通了,所以在制作过程中把自己心得记录下来也许能帮助其他人。 水平有限 如有错误 请指出 谢谢。
项目背景: 客户的需求是多元化的 ,经常拍拍屁股就提出一个需求还得马上解决 不解决就……%¥……%。。, 其中提的最多的就是报表了。动不动就要按他们的要求增加一张报表,
比如按指定条件筛选数据 再动态勾选需要显示的列数 生成报表 打印。。。
解决思路
(一)数据结构 主要三张表
A 主表记录 [Report] (所有的报表信息)
大概字段如下:
报表主键 ReportId
语句 CommandText
存储过程还是SQL语句 CommandType
排序 OrderBy
报表文件路径 ReportPath (这里要说明下虽然是通用报表了但是如果有很奇葩的样式 还是要定制一张。。)
等...... 类似的还有 纸张大小 打印方向
B 报表显示的字段记录 [ReportField]
报表主键 (和主表对应)
字段名称
字段中文名
字段宽度
对齐方向
是否显示 (前台使用者勾选需要显示的字段输出到报表中)
排序
.............等等
C 输入参数表 [ReportParameter]
报表主键
参数名
参数中文
控件类型
数据类型
排序
.........等等
---------------------------------
最后要达到的效果 快速添加一张报表
客户提出需求 --〉写好相应的存储过程-〉用维护工具 1、维护报表信息,2、 自动提取显示的字段存入数据库 3、自动提取存储过程参数 设定参数调用哪种控件 -〉报表管理器自动显示出此报表数据
除了写相应的存储过程有一定难度 其他的完全可以简单的维护。
(待续。。 本文和制作同步进行中。。 想一点写一点做一点。。)