Crystal Report水晶报表碰到的一些纠结问题
1.插入PNG文件时,透明的背景会变成黑色.试了矢量图WMF文件,是可以正常显示的,不过毕竟得到矢量图比较困难.
后来找到个方法,就是把JPG图片放在子报表里,调整子报表在父报表的位置并且保持JPG背景颜色与父报表背景颜色一致,图片下面的文字就不会被图片背景盖住了.
2.中文乱码
这是因为文本框字符的问题,调整字符应该就可以了.不过有些字符在里面没得选,而且字体最小才是8,不知有没有方法可以扩展多些选择.
3.当把英文和中文放在同一个text object的时,文本框里文本的字符类型会自动变成system,不能指定特定字符.
可以通过填充field内容,将中英文分别放在不同field,然后拖到文本框来实现.麻烦是麻烦了些,不过这样就可以指定不同field内容的字符了.
4.最痛苦的一点就是报表里面没有table object,单靠line object 和box object来画表格实在太麻烦.
后来是设置text object的边框来实现表格的样式.这样的话就遇到了边框宽度的问题,右边和下边text object的位置(left,right,height,width)都要相应增加才不会错位.
不过当文本框有背景的话,是可以设置某个文本框放在另一个文本框之上的,所以后来只要保证后面文本框永远在前面的文本框上面,表格就会显示正常了.
5.文本框可以设置文字水平对齐方式,可是没办法设置垂直对齐,当text object的高度变化时候,文字的位置就需要调整.
如果高度变化了,只能调整字符大些才能保持居中.或者把這個text object放在box object裏面再調位置.
6.水晶报表没有办法动态生成text object,field object
7.還有個很不便利的是设置某text object的CanGrow属性为True并且在程序里面动态赋值后,没法得到自动增长后的新高度。
郁闷,就算我想利用该text object的宽度能放多少个字符来判断多少行,可是在报表中英文,中文,数字所占用的宽度都是不同的阿!不同的阿!
8.如果先安装VS2012,再裝Crystal Report,会发现报表打开是乱码,需要按下列步驟来重装VS2012才行
http://social.msdn.microsoft.com/Forums/vstudio/zh-CN/914c5795-cf49-4e51-a20f-6e4e14f6c8d2/vs2012-update-2-0x80040154-corrupt-install-when-starting-the-debugger
9.VS2012安裝CRforVS_13_0_5.exe進行開發,之後放上別的機器時可以不必安裝這個,而是安裝CRRuntime_32bit_13_0_5.msi,CRRuntime_64bit_13_0_5.msi
10.下面的dll中,前面4個是一定需要引入的,這可以理解。但後面2個沒有用到也需要放上去,不是很明白爲什麽。
<system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.ReportSource, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.CrystalReports.Engine, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.ReportAppServer.Controllers, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304" />
<add assembly="CrystalDecisions.ReportAppServer.DataDefModel, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304" />
......
11.得到報表頁數
ReportDocument rd = new ReportDocument();
rd.Load(AppDomain.CurrentDomain.BaseDirectory + @"\Test.rpt");
int totalPageCnt = rd.FormatEngine.GetLastPageNumber(new ReportPageRequestContext());
12.隐藏text object里面的空行
拖了几个field object 进去一个text object,当某行空值的时候,不想留下个空行在中间,这个选项可以自动隐藏空行
Crystal Report水晶报表碰到的一些纠结问题的更多相关文章
- 2.ASP.NET MVC 中使用Crystal Report水晶报表
上一篇,介绍了怎么导出Excel文件,这篇文章介绍在ASP.NET MVC中使用水晶报表. 项目源码下载:https://github.com/caofangsheng93/CrystalReport ...
- [转]解决crystal report水晶报表在浏览器提示bobj未定义的错误
网上的中文文章(比如这篇文章)都是写的部署到服务器后出现的问题,同时也指出要把crystal report的aspnet_client文件夹拷贝到对应项目的根目录里,这样就可以正常显示了,但是具体到我 ...
- 解决crystal report水晶报表在浏览器提示bobj未定义的错误
网上的中文文章(比如这篇文章)都是写的部署到服务器后出现的问题,同时也指出要把crystal report的aspnet_client文件夹拷贝到对应项目的根目录里,这样就可以正常显示了,但是具体到我 ...
- C# WinForm开发系列 - Crystal Report水晶报表
转自:ttp://www.cnblogs.com/peterzb/archive/2009/07/11/1521325.html 水晶报表(Crystal Report)是业内最专业.功能最强的报表系 ...
- Crystal Report - 水晶报表导出文件的格式设置
水晶报表中自带的导出和打印功能用起来确实很方便,只不过有时候需要导出的文件并不需要那么多种类型,在网上找到一些朋友的代码总结了一下,可以通过代码实现自定义导出文件类型 首先需要定义一个枚举: publ ...
- Visual Studio 2017 集成Crystal Report为ASP.NET MVC呈现报表
最近项目需要实现报表功能,平衡各方面的因素,还是使用Crystal Report(水晶报表) 下载较新版本: http://downloads.businessobjects.com/akdlm/cr ...
- Visual Studio 2012使用水晶报表Crystal Report
原文:Visual Studio 2012使用水晶报表Crystal Report SAP在 2013年1月14日 released SAP Crystal Reports,developer ver ...
- Crystal Report制作使用
Crystal Report制作使用 本文主要划分为以下六部分: 一.Crystal Report for .NET 的功能 二.Crystal Report总体结构 三.报表数据访问执行模式 四.报 ...
- 如何将水晶报表(Crystal Report)导入葡萄城报表
当从旧的报表平台迁移到葡萄城报表工具时,意味着有大量的报表设计工作要重复去做,如果有一款工具能够在这些工具之间进行自由转换,就能省去报表开发几乎一半的工作量. 葡萄城报表为兼容其他报表控件,提供了简单 ...
随机推荐
- MySQL 数据库连接命令
启动数据库服务 格式: net start 数据库名 net start mysql57 关闭数据库服务 格式: net stop 数据库名 net stop mysql57 链接 ...
- APK反编译教程
在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用 ...
- socat安装使用方法
socat,一个多功能的网络工具,名字来源于SOcket CAT,是netcat的增强版,也就是netcat++(扩展了设计,并有新的实现). 推荐:socat官方文档以及 socat - Handl ...
- react以组件为中心的代码分割和懒加载
背景 随着项目越来越复杂,功能够越来越多,JS单个文件就会比较臃肿,js代码拆分显得必不可少. Js文件拆分主要分为按照路由进行js拆分.按照组件进行js拆分. 按照路由拆分:因为本项目请求路径得原因 ...
- RabbitMq的环境安装
1.如图第一个是erlang语言的安装包,第二个是rabbitmq的安装包. 2.配置erlang语言环境,因为rabbitmq由erlang语言编写的,所以需要配置erlng语言环境. erlang ...
- MySQL 多列排序
MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 M ...
- 怎样给回调函数绑定this
在三种绑定this的方法中, Function.prototype.call() 和 Function.prototye.apply() 都是会立即执行该函数的, 但回调函数是不能立即执行的, 它只是 ...
- (二十三)JSP指令
一.JSP指令 1.1 JSP指令 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分 1.2 在JSP 2.0规范中共 ...
- Android Service的有关总结
来自一位网友的评论 1.使用方式 startService 启动的服务 主要用于启动一个服务执行后台任务,不进行通信.停止服务使用stopService bindService 启动的服务 该方法启动 ...
- Vue2.0+elementUI使用echarts插件
1.npm安装echarts: $ npm install echarts -S 2.html代码: <template> <div id="chartColumn ...