Izenda Logo

This documentation is for the legacy Izenda 6 product. Documentation for the new Izenda 7 product can be found at https://www.izenda.com/docs/

Purpose

There are multiple scenarios where having the filter values set as soon as a report loads can be beneficial. The following examples will show how it is coded for dashboards.

Dashboards

Dashboards themselves do not have filters and therefore reference the filters of the reports it is composed of. This method can be used for stored procedures as well as tables and views.

public override ReportSet LoadReportSet(ReportInfo reportInfo, DatabaseSchema schema) {
      ReportSet reportSet = base.LoadReportSet(reportInfo, schema);
      if (reportInfo.Name == "Dashboard Proc Test") {
        foreach (string report in reportSet.Reports) {
          reportSet.Reports[report].Filters[0].Value = DateTime.ParseExact("01/01/2010", "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture);
          reportSet.Reports[report].Filters[1].Value = DateTime.ParseExact("01/01/2014", "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture);
        }
      }
      return reportSet;
    }

Additional Notes

The between calendar uses two values. To set each of its dates, you would use the following.

reportSet.Reports[report].Filters[0].Values.SetValue(DateTime.ParseExact("01/01/2010", "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture),0);
reportSet.Reports[report].Filters[0].Values.SetValue(DateTime.ParseExact("01/01/2014", "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture),1);