csdn怎么了??!!辛辛苦苦写的一段话没了。:(
再写一次吧。
再写一次吧。
解决方案 »
- 后台取色的问题
- 会解析“FastMM内存泄露详细报告”的高手请进
- 在webbroser中把网页表单里面的autocomplete="off"改成autocomplete="on"
- 请教合成多个TIF文件,然后转成PDF文件
- 如何用idhttp登录邮箱?
- 怎样将adoquery或者dbgrid或者dbgrideh的数据快速导入到access或者MSSQL数据库?
- 请教一个关于日期时间格式的问题
- 录音时, 为什么总显示"音频设备正在使用中",
- 一个动态连接库的问题??
- 有"能检查各个端口发出的数据 "的软件吗?
- 怎么打印报表????????
- 哪位大侠知道怎样打印stringgrid?小弟成分感谢,并高分相送
-------------------------
挺麻烦的
写一个自己的DataSet吧。:)
TMyDataSet=Class(TDataSet)
......
我记得有一本Delphi的书上有个这样的例子,具体那一本书我忘了,好像是徐新华写的那本。
-------------------
(这次以防万一,先Ctrl+C)
注意要设置AutoStop:=FALSE;
然后在beforeprint事件中达到某些条件调用QuickRep.stop;
然后处理打印数据
到你认为数据打完后,MOREDATA:=FALSE;
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
uses
unit2;
{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
begin
QuickReport2.i:=0;
QuickReport2.Preview;
end;end.unit Unit2;interfaceuses Windows, SysUtils, Messages, Classes, Graphics, Controls,
StdCtrls, ExtCtrls, Forms, Quickrpt, QRCtrls,unit1;type
TQuickReport2 = class(TQuickRep)
DetailBand1: TQRBand;
QRLabel1: TQRLabel;
procedure QuickRepNeedData(Sender: TObject; var MoreData: Boolean);
private public
i:integer;
end;var
QuickReport2: TQuickReport2;implementation{$R *.DFM}procedure TQuickReport2.QuickRepNeedData(Sender: TObject;
var MoreData: Boolean);
begin
if i<=form1.ListBox1.Items.Count-1 then
begin
MoreData:=true; QRLabel1.Caption:=form1.ListBox1.Items[i];
i:=i+1;
end;
end;end.
写得好!不过,MoreData应该在后面判断。应该先判断本次有无数据,以便写QRLabel1。然后在退出时给MoreData指示是否还有数据。而且你没给出MoreData为False的明显句子。 if i<form1.ListBox1.Items.Count then
begin
QRLabel1.Caption := form1.ListBox1.Items[i];
Inc( i );
end;
MoreData := (i<form1.ListBox1.Items.Count);