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)导入葡萄城报表
当从旧的报表平台迁移到葡萄城报表工具时,意味着有大量的报表设计工作要重复去做,如果有一款工具能够在这些工具之间进行自由转换,就能省去报表开发几乎一半的工作量. 葡萄城报表为兼容其他报表控件,提供了简单 ...
随机推荐
- 模块 time 和 datetime
目录 时间模块time datatime time 模块 datetime 模块 时间模块time datatime time 模块 在Python中,通常有这三种方式来表示时间:时间戳.元组(str ...
- React-intl相关使用介绍
React-intl用于国际化react组件,提供react组件和api来格式化日期.数字,字符等等.其中一个很重要的功能是实现文本翻译,将你所做的中文版应用所有文字转为英文. 关于配置什么的,请参照 ...
- Mysql slave 延迟故障一列(无主键)
首先还是给出我见过的一些延迟可能: 大事物延迟 延迟略为2*执行时间 状态为:reading event from the relay log 大表DDL延迟 延迟略为1*执行时间 状态为:alter ...
- 2019杭电多校一 L. Sequence (NTT)
大意: 给定序列$a$, 给定$m$个操作, 求最后序列每一项的值. 一共$3$种操作, 其中第$k$种操作将序列变为$b_i=\sum\limits_{j=i-kx}a_j$, $(0\le x,1 ...
- Once in a casino CodeForces - 1120B (暴力)
大意: 给定两个字符串$a,b$, 每个字符为$0-9$, 每次操作将$a$中相邻两位加$1$或减$1$, 操作后每个数仍要为$0-9$, 求最少操作使$a$变成$b$. 先不考虑范围, 判断是否成立 ...
- C#xml泛型序列化
using System; using System.Collections.Generic; using System.IO; using System.Text; using System.Web ...
- 箭头函数的arguments不可用
ES5中的arguments function func(a,b,c){ console.log(arguments[0],arguments[1],arguments[2]) } func(1,2, ...
- 利用Filter和HttpServletRequestWrapper实现请求体中token校验
先说一下项目的背景,系统传参为json格式,token为其中一个必传参数,此时如果在过滤器中直接读取request,则后续controller中通过RequestBody注解封装请求参数是会报stre ...
- (十六)Hibernate中的延迟加载
一.什么是延迟加载 为了节省Hibernate加载对象的性能节销,在Hibernate中真正需要用到这个对象时,才会发出 SQL语句来抓取这个对象.这一个过程称为延迟加载. 二.延迟加载 ...
- 12.java中参数传递机制---形参和实参
1.形参:用来接收调用该方法时传递的参数.只有在被调用的时候才分配内存空间,一旦调用结束,就释放内存空间.因此仅仅在方法内有效. public void swap(int a, int b) { in ...