//------------------------------------------------------------------- public object[] GetValues(CChartSetup chart) { List <object> lstValeurs = new List <object>(); CParametreSourceChart p = chart.ParametresDonnees.GetSourceFV(SourceId); if (p != null) { CEasyQuery query = p.GetSource(chart) as CEasyQuery; if (query != null) { //trouve la table DataTable table = query.GetTable(TableName); if (table != null) { DataColumn col = table.Columns[ColumnName]; if (col != null) { foreach (DataRow row in table.Rows) { object val = row[col]; if (val == DBNull.Value) { lstValeurs.Add(null); } else { lstValeurs.Add(val); } } } else if (Formule != null) { foreach (DataRow row in table.Rows) { CDynamicDataTableRow dr = new CDynamicDataTableRow(row); CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(dr); CResultAErreur result = Formule.Eval(ctx); if (result) { lstValeurs.Add(result.Data); } else { lstValeurs.Add(null); } } } } } } return(lstValeurs.ToArray()); }
//------------------------------------------------------------------- public object[] GetValues(CChartSetup chart) { List <object> lstRetour = new List <object>(); CParametreSourceChart p = chart.ParametresDonnees.GetSourceFV(m_strIdSource); if (p != null && m_formule != null) { object valeur = p.GetSource(chart); IEnumerable valEnum = valeur as IEnumerable; if (valEnum is IEnumerable && EvaluateOnEachSourceElement) { foreach (object o in valEnum) { CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(o); CResultAErreur result = m_formule.Eval(ctx); if (result) { lstRetour.Add(result.Data); } } } else { CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(valeur); CResultAErreur result = m_formule.Eval(ctx); IEnumerable retour = result.Data as IEnumerable; if (retour != null) { foreach (object obj in retour) { lstRetour.Add(obj); } } } } return(lstRetour.ToArray()); }