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)导入葡萄城报表
当从旧的报表平台迁移到葡萄城报表工具时,意味着有大量的报表设计工作要重复去做,如果有一款工具能够在这些工具之间进行自由转换,就能省去报表开发几乎一半的工作量. 葡萄城报表为兼容其他报表控件,提供了简单 ...
随机推荐
- 解析spring启动加载dubbo过程
一:简单配置 web.xml <context-param> <param-name>contextConfigLocation</param-name> < ...
- 通俗化理解Spring3 IoC的原理和主要组件
♣什么是IoC? ♣通俗化理解IoC原理 ♣IoC好处 ♣工厂模式 ♣IoC的主要组件 ♣IoC的应用实例 ♣附:实例代码 1.什么是IoC(控制反转)? Spring3框架的核心是实现控制反转( ...
- 什么是实体关系图(ERD)? 转
https://www.visual-paradigm.com/cn/guide/data-modeling/what-is-entity-relationship-diagram/#erd-data ...
- java计算接口调用时间
方法一: LocalDateTime beginTime = LocalDateTime.now(); Long opetime = Duration.between(between,LocalDat ...
- 手把手教你如何用java8新特性将List中按指定属性排序,过滤重复数据
在java中常常会遇到这样一个问题,在实际应用中,总会碰到对List排序并过滤重复的问题,如果List中放的只是简单的String类型过滤so easy,但是实际应用中并不会这么easy,往往List ...
- ulimit用法
ulimit -a:显示当前所有的资源限制 -c:core文件大小 -f:设置创建文件的最大值 -n:设置内核可以同时打开的文件描述符的最大值 -p:设置管道缓冲区的最大值 -s:设置堆栈的最大值 - ...
- UITableView个人使用总结【前篇-增量加载】
UITableView现在边整边总结. 预计分两个部分,第一个部分主要是对UITableView本身属性的学习.第二个部分可能会是加上一个编辑按钮以及对列表的操作. 今天先学习第一部分. 第一部分,我 ...
- Java中程序、进程、线程的区别。
程序.进程.线程的区别. 程序(program):是一个指令的集合.程序不能独立执行,只有被加载到内存中,系统为他分配资源后才能执行. 进程(process):一个执行中的程序称为进程. 进程是系统分 ...
- 去“BAT”这样面试,拿到offer的几率是80%
一.概述 面试,难还是不难?取决于面试者的底蕴(气场+技能).心态和认知及沟通技巧.面试其实可以理解为一场聊天和谈判,在这过程中有心理.思想上的碰撞和博弈.其实你只需要搞清楚一个逻辑:“面试官为什么会 ...
- [Docker][Hadoop]基于Docker1.12.3 搭建Hadoop 2.7.2 集群以及简单分析
一 Hadoop简介 Hadoop 2.7.2 Doc refer to http://hadoop.apache.org/docs/r2.7.2/ HDFS (The following is a ...