| Quintiq file version 2.0 | 
| #parent: #root | 
| Method FilterDataOnSelectedKpis () id:Method_Kpi_frmKpiSnapshots_FilterDataOnSelectedKpis #extension | 
| { | 
|   Body: | 
|   [* | 
|     // Sets the filter on the KpiValues list to match the selected KPIs and the  | 
|     // LastSnapshotOnly checkbox. | 
|     dslKpiValues.Filter( "" ); | 
|      | 
|     filterKpis := dhSelectedKpis.Data(); | 
|      | 
|     if ( not isnull( filterKpis ) ) | 
|     { | 
|       filters := construct( structured[String] ); | 
|       traverse( filterKpis, Elements, kpi )  | 
|       { | 
|         filters.Add( "object.Name() = " + kpi.Name().AsQUILL() ); | 
|       } | 
|      //in case filterKPIs.Size()=0, due to data in list not populated yet  | 
|       filter := ifexpr( filters.Size()>0, "( " + filters.ToString( ' or ' ) + " )", "true" ); | 
|        | 
|        | 
|       if ( cbOnlyLastSnapshot.Checked() and not isnull( selSeries.Data() ) )  | 
|       { | 
|         filter := filter + " and ( object.UI_IsLast() ) " | 
|       } | 
|        | 
|       dslKpiValues.Filter( filter ); | 
|     } | 
|   *] | 
| } |