/// //////////////////////////////////////////
        public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] listeParametres)
        {
            CResultAErreur result = CResultAErreur.True;

            try
            {
                //Cherche un objet donnée dans le contexte d'évaluation pour pouvoir
                //avoir un contexte de donnee;
                CContexteDonnee contexte       = null;
                bool            bMyOwnContexte = false;
                if (!(ctx.ObjetSource is CObjetDonnee))
                {
                    contexte       = new CContexteDonnee(CSessionClient.GetSessionUnique().IdSession, true, false);
                    bMyOwnContexte = true;
                }
                else
                {
                    contexte = ((CObjetDonnee)ctx.ObjetSource).ContexteDonnee;
                }
                try
                {
                    CGrilleGenerique grille = new CGrilleGenerique(contexte);
                    if (!grille.ReadIfExists(new CFiltreData(
                                                 CGrilleGenerique.c_champCode + "=@1",
                                                 listeParametres[0].ToString())))
                    {
                        result.EmpileErreur(I.T("Can not find grid @1|20003", listeParametres[0].ToString()));
                        return(result);
                    }
                    CMatriceDonnee matrice = grille.MatriceDonnee;
                    double         fVal    = 0;
                    try
                    {
                        fVal = matrice.GetValeur(listeParametres[1], listeParametres[2]);
                    }
                    catch
                    {
                        fVal = matrice.ValeurDefaut;
                    }
                    result.Data = fVal;
                    return(result);
                }
                catch (Exception e)
                {
                    result.EmpileErreur(new CErreurException(e));
                }
                finally
                {
                    if (bMyOwnContexte)
                    {
                        contexte.Dispose();
                    }
                }
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
                return(result);
            }
            return(result);
        }
Exemple #2
0
 //-------------------------------------------------------------------------
 public CFormEditionGrilleGenerique(CGrilleGenerique GrilleGenerique, CListeObjetsDonnees liste)
     : base(GrilleGenerique, liste)
 {
     // Cet appel est requis par le Concepteur Windows Form.
     InitializeComponent();
 }