InVision supports line and chart reports, and a single report can toggle between line and chart display mode.

Reports are created by defining one or more data sets using SQL queries and then mapping those data sets to chart and table reports.

InVision reports can read data from any SQL source, so you can use reports to view data from any SQL Server database in addition to the InVision databases.



  • Instructs the component to load data.

Execute Expression

  • Enables changing the caption of the report dynamically by calling SetCaption(…), SetCaptionSuffix(…) and ResetCaption().


Cell Action Link Tapped

  • This event is raised when an action link cell in a table report is clicked. The payload of the event is the name of the column that was clicked and the row object.

Custom Context Menu Action Executed

  • This event is raised when a custom context menu action is clicked. The payload of the event is the name of the action that was clicked, the column and the row object that the cell belongs to.

    @Event properties

    Data – Contains a reference to the data (row) object that is rendered by the clicked spreadsheet cell
    Sender.ColumnName – The name of the column that was clicked
    Sender.ActionName – The name of the custom context menu item action
    Selection.Rows – A collection of SelectedRow objects
    Selection.Cells – A collection of SelectedCell objects


Show a toast notification displaying the name of the action that was executed, and the value of the ProductID of the row that was clicked.

ShowToastNotification(@Event.Sender.ActionName + " was executed",
"Product Id is " + @Event.Data.ProductID);
  • SelectedRow Properties:

    RowData : object

    The data object of the selected cell.

    Columns : string[]

    A collection of the column names that are selected for the row. The column names map directly to the field names or the RowData object.

  • SelectedCell Properties:

    RowData : object

    The data object of the selected cell.

    Column : string[]

    The column name of the selected cell.


  • This event can be raised from a Highchart event handler, for example the click event of a point. To raise this event, you need to add an event handler to the chart component that you want to raise that event from, and then raise the ChartInteraction event.


To raise the ChartInteraction event when a point is clicked, add a JavaScript library to your solution and generate a default script. This will create a myUtil function object. Add the following function to the myUtil function object:

myUtil.onPointClick = function(){
('ChartInteraction', {x : this.x, y : this.y},

The second argument is the payload you want to pass along as the event argument.

Then, find the clicked event of the point of the series, and add a pointer to the function with the func:: prefix. If your solution is called Hypotesia, and the JavaScript Solution object is called Chart Events, the correct pointer name is


To display the x-value of the clicked series in a toast notification, add an ExecuteExpression action to the Workbook with the following expression:

ShowToastNotification("Point clicked", "X value point is " + @Event.Data.x);


Handling the ChartInteractionEvent from built-in event publishers

At the moment, InVision has a built-in function (pb.chart.series.point.events.onClick) that can be set to raise the ChartInteractionEvent when a series point is clicked. The function raises the ChartInteractionEvent with a payload object containing the following properties:


The x-value of the clicked point


The y value of the clicked point


The low value of the clicked point (for range series).


The high value of the clicked point (for range series).


The name of the series that the point belongs to.


The data object of the clicked point. The data object is the entire data row that the point is rendered from.

When handing the ChartInteractionEvent in a Workbook, the payload object is exposed through the @Event.Data property, so to get the y value of the clicked point in a Workbook event handler, you would write @Event.Data.y.

See Also