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, 但这种方式面向用户没有必要,如有一功能,双击某个单元格,在预览时还能编辑单元格的值就是最理想的,等于在打印之前可以修改数值。