Search Results for

    Show / Hide Table of Contents

    Example 8. Objects in cells

    Using objects inserted into matrix cells you can have various visual effects. We will show in the following example, how to draw a simple scale indicating employee's sales level.

    The matrix will use the "MatrixDemo" data source. To build a matrix, add data columns in the following way:

    • add Year data column to the row header;
    • add Name data column to the column header;
    • add Revenue data column to the matrix cell.

    Set the appearance of the matrix in the following way:

    Now let us add three "Shape" objects to the cell with Revenue value.These objects will serve as indicators in the following way:

    • if value in a cell is less than 100, only one object of red color will be shown;
    • if value in a cell is less than 3000, two objects of yellow color will be shown;
    • if value in a cell is more or equal to 3000, three objects of green color will be shown.

    Now the matrix looks like this:

    To control objects, we will use an event handler for a matrix cell. For this, select the Revenue cell, and create the BeforePrint event handler using the "Properties" window. Write the following code in the handler:

    private void Cell4_BeforePrint(object sender, EventArgs e)
    {
      // In our example, a cell has the Cell4 name. 
      // Get cell value which is in the Cell4.Value property. 
      // Some cells in our matrix will be empty. We'll take it into account (null check).
      // The value should be cast to decimal type, because data source column
      // [MatrixDemo.Revenue] is of System.Decimal type.
      decimal value = Cell4.Value == null ? 0 : (decimal)Cell4.Value;
    
      // Switch shape objects on or off depending on the value: 
      // value < 100 - one object is visible; 
      // value < 3000 - two objects are visible; 
      // value >= 3000 - all objects are visible
      Shape1.Visible = true;
      Shape2.Visible = value >= 100;
      Shape3.Visible = value >= 3000;
    
      // Choose the color of objects:
      // value < 100 - red color; 
      // value < 3000 - yellow color; 
      // value >= 3000 - green color
      Color color = Color.Red;
      if (value >= 100)
        color = Color.Yellow;
      if (value >= 3000)
        color = Color.GreenYellow;
    
      // Set the objects' color
      Shape1.Fill = new SolidFill(color);  
      Shape2.Fill = new SolidFill(color);  
      Shape3.Fill = new SolidFill(color);  
    }
    

    When we run the report, we will see the following:

    Back to top © 1998-2026 Copyright Fast Reports Inc.