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 ); 
 | 
    } 
 | 
  *] 
 | 
} 
 |