动态报表???

linbee 2002-12-31 02:48:33
本人没有做过动态报表。不知动态报表是什么样做?要用代码写吗?
谢大家多多指点!
...全文
55 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
nnwq 2003-01-13
  • 打赏
  • 举报
回复
打印过程要用代码控制,但这样有个不好的地方,就是只能预览第一页。

建议找别的控件试试。如:eReport,Report Machine,Fast Report。

liqianglqlq 2003-01-13
  • 打赏
  • 举报
回复
给你一个我做的例子:

temp:=getprinterstatus;
if (temp and $10)<>0 then
begin
k:=num2 div 16; //页数
h:=(num2 mod 16); //余数 num2为dbgrid4所显示的记录数(查询后)
krot:=0;
//for krot:=0 to k do
while krot<>k do
begin
for i:=1 to 16 do
begin
for j:=1 to 8 do
begin
qrl[i,j]:=tqrlabel.Create(self);
qrl[i,j].Parent:=form3.qrband2;
qrl[i,j].top:=(i-1)*48+120;
if j=1 then qrl[i,j].left:=16;
if j=2 then qrl[i,j].left:=90;
if j=3 then qrl[i,j].left:=196;
if j=4 then qrl[i,j].left:=316;
if j=5 then qrl[i,j].left:=406;
if j=6 then qrl[i,j].left:=472;
if j=7 then qrl[i,j].left:=532;
if j=8 then qrl[i,j].left:=612;
//qrl[i,j].left:=((j mod 8)-1)*90+24;
qrl[i,j].height:=20;
qrl[i,j].width:=50;
qrl[i,j].autosize:=true;
DBGrid4.DataSource.DataSet.RecNo:=(krot)*16+i;
//s1:=dbgrid2.Fields[0].AsString;
if j=1 then
qrl[i,j].caption:=dbgrid4.Fields[0].AsString; //日期
if j=2 then
begin
qrl[i,j].caption:=dbgrid4.Fields[7].AsString; //合同号码
end;
if j=3 then
begin
qrl[i,j].caption:=dbgrid4.Fields[1].AsString; //手机号码
end;
if j=4 then
begin
qrl[i,j].caption:=dbgrid4.Fields[6].AsString; //话费金额
end;
if j=5 then
begin
qrl[i,j].caption:=dbgrid4.Fields[2].AsString; //滞纳金
end;
if j=6 then
begin
qrl[i,j].caption:=dbgrid4.Fields[3].AsString; //预缴话费
end;
if j=7 then
begin
qrl[i,j].caption:=dbgrid4.Fields[4].AsString; //优惠金额
end;
if j=8 then
begin
qrl[i,j].caption:=dbgrid4.Fields[5].AsString; //收缴金额
end;
end; //for j
end; //for i
form3.QRLabel14.Caption:='共'+''+inttostr(k+1)+''+'页';
form3.QRLabel15.Caption:='第'+''+inttostr(krot+1)+''+'页';
try
form3.QuickRep1.Print;
for i:=1 to 16 do //打印完成后释放qrl
begin
for j:=1 to 8 do
qrl[i,j].Free;
end;
krot:=krot+1;
except
showmessage('打印未进行,请检查打印机是否正常,并重新打印');
for i:=1 to 16 do //打印完成后释放qrl
begin
for j:=1 to 8 do
qrl[i,j].Free;
end;
end; //try
end; //while krot<>k 两种情况---完整页(16行)
kavoe 2003-01-13
  • 打赏
  • 举报
回复
up.......
gzllich 2003-01-11
  • 打赏
  • 举报
回复
up
luckyboy97 2003-01-10
  • 打赏
  • 举报
回复
大概的就是,根据不同的数据内容进行打印输出,打印内容不是固定的
zhxfzhxf1 2003-01-09
  • 打赏
  • 举报
回复
up
hanly2008 2003-01-09
  • 打赏
  • 举报
回复
当然要用代码啦,不然你怎么动态的起来?
yinghuafeiwushi 2003-01-09
  • 打赏
  • 举报
回复
up!
QRDBText不用table里面的字段,,想通过其他table的字段算出来,语句往哪里写啊?
angelior 2003-01-02
  • 打赏
  • 举报
回复
UP!
同行!

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧