//------------------------------------------------------- private C2iExpression GetFormuleValideElementEdite(CTextBoxZoomFormule editeur) { C2iExpression formule = editeur.Formule; bool bHasErreur = true; if (formule != null) { CTypeResultatExpression typeResultat = formule.TypeDonnee; if (typeResultat != null && !typeResultat.IsArrayOfTypeNatif && typeof(CObjetDonneeAIdNumerique).IsAssignableFrom(typeResultat.TypeDotNetNatif)) { bHasErreur = false; } } if (!bHasErreur) { return(formule); } return(null); }
//------------------------------------------------------- private void InitSelectFormulaire(CTextBoxZoomFormule editeur) { if (editeur == null) { return; } C2iExpression formule = GetFormuleValideElementEdite(editeur); CFormulaire formulaireSel = null; C2iTextBoxFiltreRapide selecteur = null; if (editeur == m_txtFormuleElementSecondaire) { formulaireSel = m_txtSelectFormulaireSecondaire.ElementSelectionne as CFormulaire; selecteur = m_txtSelectFormulaireSecondaire; } if (formule != null && selecteur != null) { Type tpEdite = formule.TypeDonnee.TypeDotNetNatif; CFiltreData filtre = new CFiltreData(CFormulaire.c_champTypeElementEdite + "=@1", tpEdite.ToString()); CRoleChampCustom role = CRoleChampCustom.GetRoleForType(tpEdite); if (role != null) { filtre = CFiltreData.GetOrFiltre(filtre, CFormulaire.GetFiltreFormulairesForRole(role.CodeRole)); } selecteur.InitAvecFiltreDeBase(typeof(CFormulaire), "Libelle", filtre, true); if (formulaireSel != null && formulaireSel.TypeElementEdite == tpEdite) { selecteur.ElementSelectionne = formulaireSel; } else { selecteur.ElementSelectionne = null; } } }