fastreport3.0的memo的赋值问题 ( 积分: 30 )

  • 主题发起人 主题发起人 wwdd2005
  • 开始时间 开始时间
W

wwdd2005

Unregistered / Unconfirmed
GUEST, unregistred user!
需要实现这样的效果
序号 姓名 成绩
1 李四 96
63
2 赵刘 89
87
59
3 张三 78
89
怎么做呢?序号应该是后来写上去的。
我想通过判断姓名字段,如果姓名不为空就给序号赋值,我在MasterData1OnBeforePrint
里写如下代码:(i赋初值0)
f:=姓名memo.text ;
if f<>'' then
begin
i:=i+1;
序号memo.text:=inttostr(i);
end;

可执行完以后如下效果:
序号 姓名 成绩
4 李四 96
1 63
赵刘 89
2 87
59
张三 78
3 89
好像判断的是当前纪录,赋值赋的是下一条记录。
高手看看吧,困扰我很久了!分不够解决问题后另开贴给分
 
需要实现这样的效果
序号 姓名 成绩
1 李四 96
63
2 赵刘 89
87
59
3 张三 78
89
怎么做呢?序号应该是后来写上去的。
我想通过判断姓名字段,如果姓名不为空就给序号赋值,我在MasterData1OnBeforePrint
里写如下代码:(i赋初值0)
f:=姓名memo.text ;
if f<>'' then
begin
i:=i+1;
序号memo.text:=inttostr(i);
end;

可执行完以后如下效果:
序号 姓名 成绩
4 李四 96
1 63
赵刘 89
2 87
59
张三 78
3 89
好像判断的是当前纪录,赋值赋的是下一条记录。
高手看看吧,困扰我很久了!分不够解决问题后另开贴给分
 
在報表裡MEMO1設置DataField:=成績。就可以了。
 
bbscom:请问你说的什么意思?
 
是報表要顯示出來的數據。
你需要什麼幫助呢?
 
数据库里的数据是动态的,所以不能直接赋值。
我要实现的效果主贴说的很清楚,就是要序号能显示成如图那样
 
因为你的序号的Memo放在了数据的Memo前面,所以你可以在序号Memo的前面再放一个数据Memo width设成0,在这个Memo的afterdata事件里写代码应该就没问题了。MastDataBand的Beforeprint打印时Memo得值是上一行的结果。
 
换个memo 的事件试试
 
谢谢,做出来了!
 
后退
顶部