ReportMachine脚本控制背景色

在做报表时,对于差异的列,如果仅仅是靠肉眼区分0和非0的值,是很不友好的。如果能将非0的值,以突出的背景色显示出来,这样就会很明朗。

 

Report Machine报表可以使用脚本来实现。

方法一,使用数据表值:

procedure Memo33_OnBeforePrint(Sender: TObject);
begin
  if (GetValue('CustomersDS."EndInvID"')-GetValue('CustomersDS."StartInvID"') + 1) < 100 then
    Memo33.FillColor := $00FFCCFF
  else
    Memo33.FillColor := $00FFFFFF;
end;

 上面的GetValue()函数与GetFieldValue()函数是等同的。

 

方法二,使用单元格计算值,写法更简短:

procedure Memo33_OnAfterCalc(Sender: TObject);
begin
  if Memo33.CalcValue < 100 then
    Memo33.FillColor := $00FFCCFF
  else
    Memo33.FillColor := $00FFFFFF;
end;

 

报表预览时,双击进入编辑器:RMReport.ModifyPreview := True, 但这种方式面向用户没有必要,如有一功能,双击某个单元格,在预览时还能编辑单元格的值就是最理想的,等于在打印之前可以修改数值。

posted @ 2018-01-12 08:38  坚韧如松  阅读(408)  评论(0)    收藏  举报