关于打印报表的问题:如何设置在一行中打印出两组数据? 三个问题,全部答对者再加100分! (100分)

  • 主题发起人 主题发起人 moonbird11
  • 开始时间 开始时间
M

moonbird11

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是D6的报表现有三个问题请教各位
1、在一行报表中打印两组数据。如在同一行打印:
姓名 班级 语文 数学 合计 姓名 班级 语文 数学 合计
这样的报表如何做?
2、某一数值型字段,要求格式为:$34,345,123.00 这样的格式应如何设置?
3、在同一报表中无论数据有几行,表格都有固定的行数。
全部答对者再加100分!
 
上述问题可以使用reportmachine解决
1、使用分栏
2、设定数据格式
3、使用空白行
 
如果是fastreport
1、分栏打印,设置page的columns属性为2,在第一栏放置你要打印的memo。
2、设数值字段对应的memo为memo1,设置改memo1的DisplayFormat属性为number,Decimal digits为2。
3、一页记录打印未满时用空的memo填满,我的做法是在master foot band下再拉了一个child band,并且在master data band和child band上均放了一些空的memo,然后在master foot band的onbeforeprint中写了:
begin
while FreeSpace >20do
ShowBand(Child1)
end
 
这样写数据格式为什么不对?
ADOT_ht.Fieldbyname('合同金额').Displayformat:='999.99';
 
TCurrencyField(ADOT_ht.Fieldbyname('合同金额')).Displayformat:='999.99';
 
1. 依次排列好Tqrdbtext控件 在第二个姓名对应的qrdbtext.onPrint中加入:
if Not dataset.Eof then

dataset.Next
else
begin
//没有最后一条数据要特殊处理(后面的字段都要显示为空)
end;
2、QRDBText1.Mask:=$##,###,###.00
3、把结果存入一个临时表在后面添加空行(用fastReport或reportMachine则只要设置属性AutoAppendBlank:=True)
 
你的第一个问题在Detaail Panel上贴上两组SubPanel,然后计算
If (0=你的Table.RecNo Mod 2) then
do
Print:=True
else
do
Print:=False;
第二个问题用FormatFloat(‘$###,##0’,你的数值)及FormatFloat(‘$###,##0.00’,你的数值)
第三问题是在你所用的报表组件中所设定的行高就可以了
 
TO:jianping0
我想要在dbgrid表中的某一列的数据格式改为$123,456,78.00
你的方法是在报表中改数据格式。
TO:Motar Liu
你关于“第三问题是在你所用的报表组件中所设定的行高就可以了
” 是怎么做的说细一点!
 
TFloatField(dbgrid.datasource.dataset.Fieldbyname(字段)).Displayformat:='$##,###,###.00';
 
直接在 report Machine 报表编辑器里/文件/页面设置/页边距标签中,将栏数改为相应的数即可。
 
后退
顶部