コード例 #1
0
        public void Init(CProcess process, Type typeObjet, CActionImportFromTableRow.CMappageColonne mappage)
        {
            m_mappage = mappage;
            CColonneTableParametrable col = new CColonneTableParametrable(CContexteDonneeSysteme.GetInstance());

            col.ReadIfExists(mappage.IdColonne);
            m_lblColonne.Text = col.Libelle;
            Type tp = col.TypeDonneeChamp.TypeDotNetAssocie;
            List <CDefinitionProprieteDynamique> lst = new List <CDefinitionProprieteDynamique>();

            foreach (CDefinitionProprieteDynamique def in new CFournisseurPropDynStd(false).GetDefinitionsChamps(typeObjet))
            {
                Type defType = def.TypeDonnee.TypeDotNetNatif;
                if (defType.IsGenericType && defType.GetGenericTypeDefinition() == typeof(Nullable <>))
                {
                    defType = defType.GetGenericArguments()[0];
                }
                if (defType == tp && !def.TypeDonnee.IsArrayOfTypeNatif)
                {
                    lst.Add(def);
                }
            }

            m_cmbChamp.ListDonnees       = lst;
            m_cmbChamp.ProprieteAffichee = "Nom";

            m_cmbChamp.SelectedValue = mappage.ProprieteCible;
            m_txtFormuleCondition.Init(process, typeof(CProcess));
            m_txtFormuleCondition.Formule = mappage.FormuleCondition;
        }
コード例 #2
0
        /// //////////////////////////////////////////
        private void InitPanelMappages()
        {
            C2iExpression          formuleCible = m_txtFormuleTarget.Formule;
            CTypeTableParametrable typeTable    = m_cmbTypeTable.ElementSelectionne as CTypeTableParametrable;
            Dictionary <int, CActionImportFromTableRow.CMappageColonne> dicMappages = new Dictionary <int, CActionImportFromTableRow.CMappageColonne>();

            foreach (CActionImportFromTableRow.CMappageColonne map in ActionImportFromTableRow.Mappages)
            {
                dicMappages[map.IdColonne] = map;
            }
            List <CActionImportFromTableRow.CMappageColonne> lstOld = new List <CActionImportFromTableRow.CMappageColonne>();

            foreach (CControleEditeMappageImportTableRow ctrl in m_panelMappage.Controls)
            {
                if (ctrl.MajChamps())
                {
                    dicMappages[ctrl.Mappage.IdColonne] = ctrl.Mappage;
                }
            }
            m_panelMappage.SuspendDrawing();
            m_panelMappage.ClearAndDisposeControls();
            if (formuleCible != null && typeTable != null)
            {
                Type tpElements = formuleCible.TypeDonnee.TypeDotNetNatif;
                List <CActionImportFromTableRow.CMappageColonne> lst = new List <CActionImportFromTableRow.CMappageColonne>();
                foreach (CColonneTableParametrable col in typeTable.Colonnes)
                {
                    CActionImportFromTableRow.CMappageColonne map = null;
                    if (!dicMappages.TryGetValue(col.Id, out map))
                    {
                        map           = new CActionImportFromTableRow.CMappageColonne();
                        map.IdColonne = col.Id;
                    }
                    CControleEditeMappageImportTableRow controle = new CControleEditeMappageImportTableRow();
                    controle.Init(ActionImportFromTableRow.Process, tpElements, map);
                    m_panelMappage.Controls.Add(controle);
                    controle.Dock = DockStyle.Top;
                    controle.BringToFront();
                }
            }
            m_panelMappage.ResumeDrawing();
        }