/// ////////////////////////////////////////////////////// private void m_btnOk_Click(object sender, System.EventArgs e) { if (m_cmbType.SelectedItem == null || !(m_cmbType.SelectedItem is CTypeChampBasique)) { CFormAlerte.Afficher(I.T("Enter a data type|20027"), EFormAlerteType.Exclamation); return; } //Vérifie que toutes les données sont bien du type CTypeChampBasique typeDonnees = (CTypeChampBasique)m_cmbType.SelectedItem; if (typeDonnees.Code == ETypeChampBasique.Decimal) { IClasseUnite classe = m_cmbSelectClasseUnite.SelectedValue as IClasseUnite; m_variable.ClasseUnite = classe; m_variable.FormatAffichageUnite = m_txtFormatUnite.Text; } else { m_variable.ClasseUnite = null; m_variable.FormatAffichageUnite = ""; } m_variable.Nom = m_txtNomVariable.Text.Replace(" ", "_").Trim(); m_variable.TypeChampBasique = (CTypeChampBasique)m_cmbType.SelectedItem; if (m_txtValeurDefaut.Formule == null) { if (!m_txtValeurDefaut.ResultAnalyse) { CFormAlerte.Afficher(m_txtValeurDefaut.ResultAnalyse.Erreur); return; } } m_variable.FormuleValeurDefaut = m_txtValeurDefaut.Formule; m_elementAVariables.OnChangeVariable(m_variable); DialogResult = DialogResult.OK; Close(); }
//----------------------------------------------------------------------------- public void OnChangeVariable(IVariableDynamique variable) { m_eltAVariables.OnChangeVariable(variable); }
/// ////////////////////////////////////////////////////// private void m_btnOk_Click(object sender, System.EventArgs e) { if (m_cmbType.SelectedItem == null || !(m_cmbType.SelectedItem is C2iTypeDonnee)) { CFormAlerte.Afficher(I.T("Enter a data type|30023"), EFormAlerteType.Exclamation); return; } C2iExpression expression = GetExpression(); if (expression == null) { return; } DataTable table = (DataTable)m_gridValeurs.DataSource; //Vérifie que toutes les données sont bien du type C2iTypeDonnee typeDonnees = (C2iTypeDonnee)m_cmbType.SelectedItem; ArrayList lstValeurs = new ArrayList(); foreach (DataRow row in new ArrayList(table.Rows)) { if (!typeDonnees.IsDuBonType(typeDonnees.ObjectToType(row[c_strColValeurStockee], null))) { CFormAlerte.Afficher(I.T("The value @1 is not from type @2|30023", row[c_strColValeurStockee].ToString(), typeDonnees.Libelle), EFormAlerteType.Erreur); return; } object val = typeDonnees.StringToType(row[c_strColValeurStockee].ToString(), null); lstValeurs.Add(new CValeurVariableDynamiqueSaisie(val, (string)row[c_strColValeurAffichee])); } if (typeDonnees.TypeDonnee == TypeDonnee.tDouble) { IClasseUnite classe = m_cmbSelectClasseUnite.SelectedValue as IClasseUnite; m_variable.ClasseUnite = classe; m_variable.FormatAffichageUnite = m_txtFormatUnite.Text; } else { m_variable.ClasseUnite = null; m_variable.FormatAffichageUnite = ""; } m_variable.Nom = m_txtNomVariable.Text.Replace(" ", "_").Trim(); m_variable.TypeDonnee2i = (C2iTypeDonnee)m_cmbType.SelectedItem; m_variable.ExpressionValidation = expression; m_variable.DescriptionFormat = m_txtDescriptionFormat.Text; m_variable.Valeurs.Clear(); foreach (CValeurVariableDynamiqueSaisie valeur in lstValeurs) { m_variable.Valeurs.Add(valeur); } if (m_txtValeurParDefaut.Text.Trim() == "") { m_variable.ExpressionValeurParDefaut = null; } else { CContexteAnalyse2iExpression ctxAnalyse = new CContexteAnalyse2iExpression(new CFournisseurPropDynStd(), null); CResultAErreur resultExp = new CAnalyseurSyntaxiqueExpression(ctxAnalyse).AnalyseChaine(m_txtValeurParDefaut.Text); if (!resultExp) { resultExp.EmpileErreur(I.T("Error in default value formula|30024")); CFormAlerte.Afficher(resultExp); return; } m_variable.ExpressionValeurParDefaut = (C2iExpression)resultExp.Data; } m_elementAVariables.OnChangeVariable(m_variable); DialogResult = DialogResult.OK; Close(); }