delphi5.0+quickrep设计的报表中, qrexpress控件和qrdbtext控件的显示属性如何设置才能达到以下要求: 小于1的小数在显示和打印时

  • 主题发起人 libaoliang
  • 开始时间
L

libaoliang

Unregistered / Unconfirmed
GUEST, unregistred user!
delphi5.0+quickrep设计的报表中, qrexpress控件和qrdbtext控件的显示属性如何设置才能达到以下要求: 小于1的小数在显示和打印时均带小数点前面的0,等于0时什么也不显示!(5分)<br />delphi5.0+quickrep设计的报表中, qrexpress控件和qrdbtext控件的显示属性如何设置才
能达到以下要求: 小于1的小数在显示和打印时均带小数点前面的0,等于0时什么也不显
示!
我设置mask属性为0.00,时,0值也显示,
#.##,##0.##时小数点前面的0不显示出来,
请问该如何设置呢?
分数不够了,请不包涵。
 
在数据源的ongettext事件中写:
if displaytext then
if fieldbyname('aaa').asstring = 0 then
text ;= ''
else
text := fieldbyname('aaa').asstring;
 
mlzhou:
在事件中写代码我实验过几种都不行:
我用的是delphi5.0+paradox+quickreport
字段属性或mask属性也不行:
#,##
##,##0.###
0.00
0.00%
都不行,
我要求的结果是:
数值为0 时什么都不显示和打印
数值为小于的小数时要显示和打印小数点前面的0,如 0.56不能显示为 .56
请在属性设置上想想办法!
 
其实答案我不能接受,
因为达不到我的要求,
但我也没有办法,
我不想不贴子老是留在问题栏中,
我在想办法,
希望你也考虑一下,
有结果时通知我,
谢谢!
 
你可以利用SQL语句控制的!
 
procedure TForm1.QRExpr1Print(sender: TObject;
var Value: String);
var
t_x:double;
begin
t_x:=strtofloat(value);
if (value<1) and (value>0) then
value:=formatfloat('#0.00',t_x)
else
value:='';
end;
 
procedure TForm1.QRExpr1Print(sender: TObject;
var Value: String);
begin
if StrToInt(Value)=0 then
Value:=''
else
Value:=FormatFloat('0.00',StrToFloat(Value));

end;
 
看看方便的报表控件吧,你说的在我的控件中都得到了解决!
你可以仔细的研究一下我的demo 看看里面的例子,如何自动格式化一个字符并且允许负数时变为红色.
在第三个page页,你可以在下面的白色输入框终输入小数,负数,看看前面的合计如何反映!
 
zhangxzh:
你的控件在哪里?
我怎么看得到?
 
libaoliang, 你好
到我的网址http://zhangxzh.diy.163.com 下载!
 
多人接受答案了。
 
顶部