DevExpress利用XRDesignFormEx将报表文件保存至数据库中
最近项目上整合打印模块,之前是将打印报表用文件的形式保存,在代码控制上比较方便,如下图红框的文件保存按钮,点击保存就好了
这种做法虽然方便但也有相应的缺点:报表更新时,需要给每台客户端都更新一遍,比较繁琐,而且容易更新漏。。。
现在的做法是将报表保存至数据库中,这样的话,有报表更新的话,就不用再一台一台客户端繁琐的更新了。
在调研的过程中,习惯性的去找XRDesignFormEx对象有没有保存相关的事件,结果发现并没有,只公开了一个ReportStateChanged事件,显然不能满足需求。
只好继续探索,过程不再熬述,直接上结论吧
XRDesignFormEx对象有一个DesignPanel属性(XRDesignPanel对象),这个对象公开了一个AddCommandHandler的方法,可以基于这个方法给编辑器绑定Command,我们只要实现自己想要的Command就可以了。
话不多说,上代码,
首先继承ICommandHandler接口,实现自己的CommandHandler,代码如下:
第二步,将上述自定义的CommandHandler添加至报表编辑器
第三步,在ReportSave方法中处理保存数据库的逻辑即可
第三部代码中的report对象是在编辑器中打开的报表对象,参考代码如下:


浙公网安备 33010602011771号