Reports for WinForms | ComponentOne
In This Topic
    Editing the Field's Format Based on Value
    In This Topic

    You can change a report field's format based on its value by specifying an expression for the Detail section's OnFormat property.

    To specify an expression for the OnFormat property, complete the following steps:

    1. Open the C1ReportDesigner. For more information on how to access the C1ReportDesigner, see Accessing C1ReportDesigner from Visual Studio.
    2. Create a new report or open an existing report. Once you have the report in the C1ReportDesigner, you can modify the report properties.
    3. Click the Close Print Preview button to begin editing the report.
    4. In Design mode, select Detail from the Property window's drop-down list to view the available properties for the Detail section.
    5. Locate the OnFormat property and click the ellipsis button next to the property.
    6. The VBScript Editor appears where you can specify an expression.

      The following expression changes the UnitsInStock field's ForeColor to red if the sum of the UnitsInStock value and the UnitsOnOrder value is less than the ReorderLevel value. There are several ways to write this expression.

      Option 1:

      UnitsInStockCtl.Forecolor = Iif(UnitsInStock + UnitsOnOrder < ReorderLevel, vbRed, vbBlack)
      

      Option 2:

      lowStock = UnitsInStock + UnitsOnOrder < ReorderLevel
      UnitsInStockCtl.Forecolor = Iif(lowStock, vbRed, vbBlack)
      

      Option 3:

      If UnitsInStock + UnitsOnOrder < ReorderLevel Then
          UnitsInStockCtl.Forecolor = vbRed
      Else
          UnitsInStockCtl.Forecolor = vbBlack
      End If
      

      Option 4:

      color = Iif(UnitsInStock + UnitsOnOrder < ReorderLevel, vbred, vbblack)
      UnitsInStockCtl.Forecolor = color
      

    This topic illustrates the following:

    Notice that the Outback Lager's UnitsInStock value is formatted in red since the sum of the UnitsInStock and UnitsOnOrder is less than the ReorderLevel.