根据字段的值格式化字段可能是Section.OnPrint属性的最常见用法 。例如,一个报告列出了按产品分组的订单值。该报告没有使用多余的字段来显示库存数量,而是通过以红色粗体显示其名称来突出显示低于再订购水平的产品。
要通过以红色粗体显示其名称来突出显示低于重新订购级别的产品,请使用如下所示的事件脚本:
string script = "if (UnitsInStock& ReorderLevel) then\r\n" + "ProductNameCtl.ForeColor = rgb(255,0,0)\r\n" + "ProductNameCtl.Font.Bold = true\r\n" + "else\r\n" + "ProductNameCtl.ForeColor = rgb(0,0,0)\r\n" + "ProductNameCtl.Font.Bold = false\r\n" + "end if\r\n"; c1FlexReport1.Sections.Detail.OnPrint = script; |
另外,也可以不用编写代码,而可以使用C1FlexReportDesigner应用程序直接在Detail部分的Section.OnPrint属性对应的VBScript编辑器中键入以下脚本代码。完成以下步骤:
If UnitsInStock < ReorderLevel Then
ProductNameCtl.ForeColor = RGB(255,0,0)
ProductNameCtl.Font.Bold = True
Else
ProductNameCtl.ForeColor = RGB(0,0,0)
ProductNameCtl.Font.Bold = False
End If
每当要打印该部分时,控件就会执行VBScript代码。该脚本获取“ ReorderLevel”数据库字段的值,并设置“ ProductName”报告字段是否为粗体和字体颜色。如果产品低于重新订购级别,则其名称将变为粗体和红色。
以下屏幕截图显示了具有特殊效果的报告部分: