/// ///////////////////////////////////////////////////////// public DataTable GetDataTable(IElementAVariablesDynamiquesAvecContexteDonnee elementAVariablesPourFiltre) { DataTable table = new DataTable(m_strNomTable); Type tp = typeof(int); if (m_expressionValeur != null) { tp = m_expressionValeur.TypeDonnee.TypeDotNetNatif; } DataColumn col = table.Columns.Add(c_champNumRec, tp); table.PrimaryKey = new DataColumn[] { col }; CTypeForFormule dummy = new CTypeForFormule(elementAVariablesPourFiltre); CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(dummy); int nNbRecords = 0; if (m_expressionNbRecords != null) { CResultAErreur result = m_expressionNbRecords.Eval(ctx); if (!result) { return(table); } try { nNbRecords = Convert.ToInt32(result.Data); } catch { nNbRecords = 0; } } for (int n = 0; n < nNbRecords; n++) { DataRow row = table.NewRow(); if (m_expressionValeur != null) { dummy.Valeur = n; ctx.CacheEnabled = false; if (ctx.Cache != null) { ctx.Cache.ResetCache(); } CResultAErreur result = m_expressionValeur.Eval(ctx); if (result) { row[c_champNumRec] = result.Data; } } else { row[c_champNumRec] = n; } table.Rows.Add(row); } return(table); }
public object GetValue(object objet) { CTypeForFormule typeForFormule = objet as CTypeForFormule; if (typeForFormule != null) { return(typeForFormule.Valeur); } return(null); }
//------------------------------------------------------------ public CResultAErreur GetValue(object objet, string strPropriete) { CResultAErreur result = CResultAErreur.True; CTypeForFormule typeForFormule = objet as CTypeForFormule; if (typeForFormule != null) { result.Data = typeForFormule.Valeur; } return(result); }