Пример #1
0
        //-------------------------------------------------------------------
        private void FillListeTypesFournisseursPossibles()
        {
            m_cmbTypeExtracteur.BeginUpdate();
            m_cmbTypeExtracteur.Items.Clear();
            string strIdSource = GetIdSourceSelectionnee();

            if (strIdSource != null)
            {
                CParametreSourceChart p = m_chartSetup.ParametresDonnees.GetSourceFV(strIdSource);
                if (p != null)
                {
                    foreach (Type tp in CGestionnaireFournisseursValeursSerie.GetTypesFournisseursConnus())
                    {
                        IFournisseurValeursSerie f = Activator.CreateInstance(tp) as IFournisseurValeursSerie;
                        if (f != null && f.IsApplicableToSource(p))
                        {
                            CDescriptionFournisseurValeurs desc = new CDescriptionFournisseurValeurs(f.LabelType, tp);
                            m_cmbTypeExtracteur.Items.Add(desc);
                        }
                    }
                }
            }
            m_cmbTypeExtracteur.DisplayMember = "Libelle";
            m_cmbTypeExtracteur.ValueMember   = "Type";
            m_cmbTypeExtracteur.EndUpdate();
            if (m_fournisseurValeurs != null)
            {
                for (int n = 0; n < m_cmbTypeExtracteur.Items.Count; n++)
                {
                    CDescriptionFournisseurValeurs desc = m_cmbTypeExtracteur.Items[n] as CDescriptionFournisseurValeurs;
                    if (desc != null && desc.Type == m_fournisseurValeurs.GetType())
                    {
                        m_cmbTypeExtracteur.SelectedIndex = n;
                        break;
                    }
                }
            }
            // m_cmbTypeExtracteur.SelectedValue = m_fournisseurValeurs.GetType();
            ShowDetailFournisseur();
        }
Пример #2
0
        //-------------------------------------------------------------------
        private void ShowDetailFournisseur()
        {
            CDescriptionFournisseurValeurs desc = null;

            if (m_cmbTypeExtracteur.SelectedIndex >= 0)
            {
                desc = m_cmbTypeExtracteur.Items[m_cmbTypeExtracteur.SelectedIndex] as CDescriptionFournisseurValeurs;
            }
            if (desc == null)
            {
                if (m_editeurEnCours != null)
                {
                    ((Control)m_editeurEnCours).Visible = false;
                    m_panelDetailExtracteur.Controls.Remove((Control)m_editeurEnCours);
                    ((Control)m_editeurEnCours).Dispose();
                    m_editeurEnCours = null;
                }
                return;
            }

            if (m_fournisseurValeurs == null || m_fournisseurValeurs.GetType() != desc.Type)
            {
                m_fournisseurValeurs = Activator.CreateInstance(desc.Type) as IFournisseurValeursSerie;
            }

            m_panelDetailExtracteur.SuspendDrawing();
            if (m_fournisseurValeurs != null)
            {
                string strId = GetIdSourceSelectionnee();
                if (strId == null)
                {
                    m_fournisseurValeurs = null;
                }
                else
                {
                    m_fournisseurValeurs.SourceId = strId;
                }
                Type tp = CGestionnaireEditeursFournisseursValeurs.GetTypeEditeur(m_fournisseurValeurs.GetType());
                if (tp != null && (m_editeurEnCours == null || m_editeurEnCours.GetType() != tp))
                {
                    if (m_editeurEnCours != null)
                    {
                        ((Control)m_editeurEnCours).Visible = false;
                        m_panelDetailExtracteur.Controls.Remove(((Control)m_editeurEnCours));
                        ((Control)m_editeurEnCours).Dispose();
                        m_editeurEnCours = null;
                    }
                    m_editeurEnCours = Activator.CreateInstance(tp, new object[0]) as IEditeurFournisseurValeursSerieDeTypeConnu;
                    if (m_editeurEnCours != null)
                    {
                        Control ctrl = m_editeurEnCours as Control;
                        m_panelDetailExtracteur.Controls.Add(ctrl);
                        ctrl.Dock = DockStyle.Fill;
                    }
                }
                if (m_editeurEnCours != null)
                {
                    m_editeurEnCours.InitChamps(m_chartSetup, m_fournisseurValeurs);
                }
            }
            m_panelDetailExtracteur.ResumeDrawing();
        }