使用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%,不然内容显示不全
随机推荐
- ASP.NET WEB API回发到客户端消息体的格式化
首先基于SOA的消息通信基本都是按照一个统一的协议规范进行交互,那么必须定义消息体.不同的交互结构设计了不同的消息体. 业界统一使用的SOAP是一种规范的XML消息内容.例如在WCF中返回的结果. 随 ...
- 关于IoCallDriver
通常我们所知IoCallDriver是把irp传递给下一层设备,传递到底是什么意思呢?IoCallDriver中实际调用了IopfCallDriver,其代码如下:NTSTATUSFORCEINLIN ...
- android中button点击频率控制
public class Utils { private static long lastClickTime; public static boolean isFastDoubleClick() { ...
- BZOJ2023: [Usaco2005 Nov]Ant Counting 数蚂蚁
2023: [Usaco2005 Nov]Ant Counting 数蚂蚁 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 56 Solved: 16[S ...
- 关于Java集合的总结
(一)List: ArrayList 以数组实现.节约空间,但数组有容量限制.超出限制时会增加50%容量,用System.arraycopy()复制到新的数组,因此最好能给出数组大小的预估值.默认第一 ...
- 负重前行的婚纱线上路 - i天下网商-最具深度的电商知识媒体
负重前行的婚纱线上路 - i天下网商-最具深度的电商知识媒体 负重前行的婚纱线上路
- MVC 部分视图
ASP.NET MVC 里的部分视图,相当于 Web Form 里的 User Control.我们的页面往往会有许多重用的地方,可以进行封装重用. 使用部分视图有以下优点: 1. 可以简写代码. ...
- Android静态变量使用陷阱
静态变量大家再熟悉不过了,本来没什么好重复的.事情起因是这样的,最近测试那边反应正在做的一个产品总是莫名其妙的显示不出某些数据,甚至闪退崩溃,仔细查了几遍发现没什么问题,最后百般周折发现在那部测试机上 ...
- Linux基本操作 1-----命令行BASH的基本操作
1 Shell(壳)是用户与操作系统底层(通常是内核)之间交互的中介程序,负责将用户指令.操作传递给操作系统底层 shell 分为两种 CUI : Command Line Interface Lin ...
- Qt信号槽写法
1.标准写法 2.lamda表达式写法 3.地址函数指针写法