VS2005 + 自带的水晶报表,是WinForm程序
一直采用Click Once部署软件,同时水晶报表也是通过Click Once部署,已将报表文件包含到了项目中。
现在发现有一个问题,有时候水晶报表需要做一些很小的改变,比如字段间的位置调整,字体调整等,不需要动到代码。 在
修改好报表的情况下,也需要将VS的程序编译重新发布一次,感觉非常麻烦,因为报表更新比较多。
我曾试过不发布VS程序,而是将改好的报表文件覆盖掉原来安装包中的报表,但客户端的程序在自动更新时提示报表的效验码
之类的提示。 请问各位有什么好的办法解决这个问题?
14 个解决方案
#1
上面笔误了,后面那句应该是:
我曾试过不发布VS程序,而是将改好的报表文件覆盖掉原来安装包中的报表,但客户端的程序在自动更新时提示报表的效验码错误之类的提示。 请问各位有什么好的办法解决这个问题?
我曾试过不发布VS程序,而是将改好的报表文件覆盖掉原来安装包中的报表,但客户端的程序在自动更新时提示报表的效验码错误之类的提示。 请问各位有什么好的办法解决这个问题?
#2
顶一下,有人关注吗?
#3
问下泰哥吧 应该可以把水晶报表单独放在一边的文件夹里吧
具体怎么做 还要泰哥来解释下
具体怎么做 还要泰哥来解释下
#4
up
#5
up
#6
WinForm程序下,生成的是强类型报表。
也就是你看到的,每个报表rpt文件, 会自动生成一个同名称的cs文件
你可以直接用
报表名称 xx=new 报表名称();
这样很方便,但是cs是编译到主程序里去的
这样就带来了一个问题
就是你修改报表模板的时候,这个本身cs也会跟着变(不是每次都变)
如果你不重新编译,那么你的rpt文件,就跟你编译到exe里的那个cs的内容不匹配
所以会有提示出现。
你可以不用强类型报表方法,而是用ReportDocument myReport=new ReportDocument ();
myReport.Load(报表路径);
的方式去操作报表,这样就不去用到cs文件。应该就不会出现提示了。
以上方法未经测试,楼主有时间的话可以测试一下。
也就是你看到的,每个报表rpt文件, 会自动生成一个同名称的cs文件
你可以直接用
报表名称 xx=new 报表名称();
这样很方便,但是cs是编译到主程序里去的
这样就带来了一个问题
就是你修改报表模板的时候,这个本身cs也会跟着变(不是每次都变)
如果你不重新编译,那么你的rpt文件,就跟你编译到exe里的那个cs的内容不匹配
所以会有提示出现。
你可以不用强类型报表方法,而是用ReportDocument myReport=new ReportDocument ();
myReport.Load(报表路径);
的方式去操作报表,这样就不去用到cs文件。应该就不会出现提示了。
以上方法未经测试,楼主有时间的话可以测试一下。
#7
接6楼
使用ReportDocument myReport=new ReportDocument (); 的方式,可以直接把 报表.cs 删除掉。
建议你新做个测试项目做一下看看 :)
使用ReportDocument myReport=new ReportDocument (); 的方式,可以直接把 报表.cs 删除掉。
建议你新做个测试项目做一下看看 :)
#8
Up
#9
好的,感谢阿泰. 试过后公布测试结果.
#10
可以简单学习一下
#11
了解了解
#12
学习了
#13
前来围观。。
#14
阿泰,果然能人也。
#1
上面笔误了,后面那句应该是:
我曾试过不发布VS程序,而是将改好的报表文件覆盖掉原来安装包中的报表,但客户端的程序在自动更新时提示报表的效验码错误之类的提示。 请问各位有什么好的办法解决这个问题?
我曾试过不发布VS程序,而是将改好的报表文件覆盖掉原来安装包中的报表,但客户端的程序在自动更新时提示报表的效验码错误之类的提示。 请问各位有什么好的办法解决这个问题?
#2
顶一下,有人关注吗?
#3
问下泰哥吧 应该可以把水晶报表单独放在一边的文件夹里吧
具体怎么做 还要泰哥来解释下
具体怎么做 还要泰哥来解释下
#4
up
#5
up
#6
WinForm程序下,生成的是强类型报表。
也就是你看到的,每个报表rpt文件, 会自动生成一个同名称的cs文件
你可以直接用
报表名称 xx=new 报表名称();
这样很方便,但是cs是编译到主程序里去的
这样就带来了一个问题
就是你修改报表模板的时候,这个本身cs也会跟着变(不是每次都变)
如果你不重新编译,那么你的rpt文件,就跟你编译到exe里的那个cs的内容不匹配
所以会有提示出现。
你可以不用强类型报表方法,而是用ReportDocument myReport=new ReportDocument ();
myReport.Load(报表路径);
的方式去操作报表,这样就不去用到cs文件。应该就不会出现提示了。
以上方法未经测试,楼主有时间的话可以测试一下。
也就是你看到的,每个报表rpt文件, 会自动生成一个同名称的cs文件
你可以直接用
报表名称 xx=new 报表名称();
这样很方便,但是cs是编译到主程序里去的
这样就带来了一个问题
就是你修改报表模板的时候,这个本身cs也会跟着变(不是每次都变)
如果你不重新编译,那么你的rpt文件,就跟你编译到exe里的那个cs的内容不匹配
所以会有提示出现。
你可以不用强类型报表方法,而是用ReportDocument myReport=new ReportDocument ();
myReport.Load(报表路径);
的方式去操作报表,这样就不去用到cs文件。应该就不会出现提示了。
以上方法未经测试,楼主有时间的话可以测试一下。
#7
接6楼
使用ReportDocument myReport=new ReportDocument (); 的方式,可以直接把 报表.cs 删除掉。
建议你新做个测试项目做一下看看 :)
使用ReportDocument myReport=new ReportDocument (); 的方式,可以直接把 报表.cs 删除掉。
建议你新做个测试项目做一下看看 :)
#8
Up
#9
好的,感谢阿泰. 试过后公布测试结果.
#10
可以简单学习一下
#11
了解了解
#12
学习了
#13
前来围观。。
#14
阿泰,果然能人也。