使用FastReport的UserDataSet时候,遇到TfrxMemoView内容过多而打印不全的问题
解决方案很简单,就是把Memo所在的Band勾选Stretch就行了。另外还可勾选StartNewPage。
至于UserDataSet本身,猜测就是人为的构造一个类似数据库的集合,大致使用代码如下:
var
MyData: array[.., ..] of String;
MasterNo: Integer; procedure TFormMainForm.ExporterPDF(Sender: TObject);
var
strList : TStringList;
i, No : integer;
list : TStringList;
ttt : IXMLTaskType;
strFilePath : String;
oExportfilter : TfrxCustomExportFilter;
begin
nPath := ;
nFile := ;
nExclu := ;
// 使用数据填充数组,构造一个类似于数据库的内容
for i:= to XMLConfig.Tasks.Count- do
begin
No := i+;
MyData[No][] := ttt.Nom;
MyData[No][] := '中午12点';
MyData[No][] := '晚上9点';
end; SaveDialog1.InitialDir:=GetShellFolders('Personal');
SaveDialog1.Filter := 'PDF file|*.pdf';
SaveDialog1.DefaultExt := 'pdf';
if SaveDialog1.Execute then
begin
strFilePath := SaveDialog1.FileName;
oExportfilter := TfrxCustomExportFilter(frxPDFExport1);
oExportFilter.ShowDialog := False;
oExportFilter.FileName := strFilePath; frxReport1.PrepareReport(True);
frxReport1.Export(oExportFilter);
ShellExecute(Self.Handle, 'open', PChar(strFilePath),'', '',SW_SHOW);
//oExportfilter.Free;
end;
exit; frxReport1.PrepareReport();
frxReport1.ShowPreparedReport();
frxReport1.Print;
frxReport1.ShowReport();
end; procedure TFormMainForm.frxUserDataSet1GetValue(const VarName: String;
var Value: Variant);
begin
if VarName = 'fname' then Value := MyData[MasterNo][]
else if VarName = 'fstarttime' then Value := MyData[MasterNo][]
else if VarName = 'fstoptime' then Value := MyData[MasterNo][]
end; procedure TFormMainForm.frxUserDataSet1First(Sender: TObject);
begin
MasterNo := ;
end; procedure TFormMainForm.frxUserDataSet1Next(Sender: TObject);
begin
Inc(MasterNo);
end; procedure TFormMainForm.frxUserDataSet1Prior(Sender: TObject);
begin
Dec(MasterNo);
end; procedure TFormMainForm.frxUserDataSet1CheckEOF(Sender: TObject;
var Eof: Boolean);
begin
Eof := MasterNo > XMLConfig.Tasks.Count;//High(MyData);
end;
使用FastReport的UserDataSet时候,遇到TfrxMemoView内容过多而打印不全的问题的更多相关文章
- CSS---解决内容过多就会出文本溢出(显示在区域外面,不换行的情况)
当我们设置我的的div,或者其它文本框固定宽度之后,文本内容过多就会出文本溢出(显示在区域外面,不换行的情况). 这时我们可以使用Css中的几个属于来解.有以下的三个属于可以解决问题: 1,word- ...
- 在ASP.NET2.0里打印网页指定的内容(比如打印网页里的一个Table)
原文:在ASP.NET2.0里打印网页指定的内容(比如打印网页里的一个Table) 打印指定内容: <html> <head> <script type= " ...
- JavaScript解决select下拉框中的内容太长显示不全的问题
JavaScript解决select下拉框中的内容太长显示不全的问题 1.说明 有些情况下,select下拉框的内容过长,导致部分看不见: 现在通过鼠标事件,让下拉框中的内容显示完全 2.实现源码 & ...
- css省...和div 内容过多,自动换行
1.shengluohao 就是这个... 加: overflow: hidden;/*超出部分隐藏*/ white-space: nowrap;/*不换行*/ text-overflow:ellip ...
- el-form-item内容过多,及弹窗框宽度属性show-overflow-tooltip设置
内容过多: :show-overflow-tooltip=true 宽度属性设置: .el-tooltip__popper{ max-width:30% }
- 当table中的td内容过多,显示不完全,用省略号表示。
.format{ min-width:100px; max-width:200px; overflow:hidden; white-space:nowrap; text-overflow:ellips ...
- C#打印字符串内容,例如打印Textbox内容
/// <summary> /// 打印txt文档 /// </summary> class PrintTxt { System.Drawing.Printing.PrintD ...
- 优雅的重载toString方法,打印对象内容而不是打印内存地址的方法
如果直接在日志或者System.out.println中打印java对象,会打印这个对象的内存地址,而不是具体内容. 为了便于调试,一般的做法有2种: 1.重写toStrong方法 2.将对象传入JS ...
- div设置滚动条内容任然显示不全
<div style="overflow:scroll;height:100%"></div> 注意:高度需设置为100%,不然内容显示不全
随机推荐
- Android 最简单的SD卡文件遍历程序
package com.wenhao.test.sddemo; import java.io.File; import android.app.Activity; import android.os. ...
- [置顶] 【原创分享】嵌入式linux应用之内核移植定制篇-前篇(linux-3.8.12 mini2440)--20130824
移植的话其实很早就做过了,不过那时用的友善定制的老版本2.6.32 驱动什么的全部弄好了,仅仅用默认配置而已.基本不用改动什么,很简单. 内核更新其实非常的快,今天我就用个3.8.12来移植. 当然, ...
- ubuntu14.04 + cocos2d-x-2.2.6 + eclipse发布android + Qt Creator4
先把需要的东西准备好,打开控制台,执行以下语句: sudo apt--jdk lib32z1 lib32ncurses5 lib32bz2- 接下来,准备好cocos2d-x-2.2.6和 andro ...
- Django之验证码 + session 认证
验证码 + session认证 目录结构 . └── project ├── app01 │ ├── admin.py │ ├── apps.py │ ├── __init__.py │ ...
- PHP设计模式笔记四:适配器模式 -- Rango韩老师 http://www.imooc.com/learn/236
适配器模式 1.适配器模式,可以将截然不同的函数接口封装成统一的API 2.实际应用举例,PHP的数据库操作有mysql.mysqli.pdo三种,可以用适配器模式统一成一致,类似的场景还有cache ...
- ffmpeg + sdl -03 简单音频播放器实现
没办法,工作中遇到了问题. 目前NEC EMMA的架构如下: 从USB读入文件 -> 文件分析并提取Packet中的Payload Data -> NEC HANDLE AVTrans ...
- LRU Cache的简单c++实现
什么是 LRU LRU Cache是一个Cache的置换算法,含义是“最近最少使用”,把满足“最近最少使用”的数据从Cache中剔除出去,并且保证Cache中第一个数据是最近刚刚访问的,因为这样的数据 ...
- Hacker(20)----手动修复Windows系统漏洞
Win7系统中存在漏洞时,用户需要采用各种办法来修复系统中存在的漏洞,既可以使用Windows Update修复,也可使用360安全卫士来修复. 一.使用Windows Update修复系统漏洞 Wi ...
- Docker的简单认知
Docker images: docker image是一个只读打模板,用来创建Docker 容器 Docker Registers 互联网上存储images的地方 Docker containers ...
- Java这个名字怎么来
Java语言的历程丰富多彩,被现在众多程序员和企业广泛使用,不用质疑这是Java的领先技术的结果. Java是Sun公司开发的一种编程语言,Sun公司最初的方向是让Java来开发一些电器装置程序, ...