/// <summary>
 /// Retourne vrai si il y a
 /// </summary>
 /// <param name="supprimerFilsNonValide"></param>
 /// <returns></returns>
 public virtual bool Valider(bool supprimerFilsNonValide)
 {
     for (int i = m_lstFils.Count; i > 0; i--)
     {
         CDataGridViewColonneFilterComponent fils = m_lstFils[i - 1];
         if (!fils.Valider(false))
         {
             if (!supprimerFilsNonValide)
             {
                 return(false);
             }
             else
             {
                 m_lstFils.Remove(fils);
             }
         }
     }
     if (m_lstFils.Count == 0)
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
 public void SelectionnerElement(CDataGridViewColonneFilterComponent ele)
 {
     try
     {
         ChangementListeSelection(GetControlSelectOf(ele), new EventArgs());
     }
     catch
     {
     }
 }
 private string GetIndex(CDataGridViewColonneFilterComponent element)
 {
     foreach (object o in m_indexage.Keys)
     {
         if (m_indexage[o].Equals(element))
         {
             return(o.ToString());
         }
     }
     return("");
 }
        public virtual CComposantFiltre GetComposantFiltre()
        {
            CComposantFiltre filtrebase;
            string           idOperateur = "";

            switch (FilsOperateur)
            {
            case EOperateurElementAComposantFiltre.Et:
                idOperateur = CComposantFiltreOperateur.c_IdOperateurEt;
                break;

            case EOperateurElementAComposantFiltre.Ou:
                idOperateur = CComposantFiltreOperateur.c_IdOperateurOu;
                break;

            default:
                return(null);
            }

            int nbEle = m_lstFils.Count;

            if (nbEle > 1)
            {
                filtrebase = new CComposantFiltreOperateur(idOperateur);
                CComposantFiltreOperateur filtrelast = (CComposantFiltreOperateur)filtrebase;
                for (int i = 0; i < nbEle; i++)
                {
                    CDataGridViewColonneFilterComponent fils = m_lstFils[i];
                    if (i == m_lstFils.Count - 2)
                    {
                        filtrelast.Parametres.Add(fils.GetComposantFiltre());
                        filtrelast.Parametres.Add(m_lstFils[i + 1].GetComposantFiltre());
                        break;
                    }
                    else
                    {
                        filtrelast.Parametres.Add(fils.GetComposantFiltre());
                        CComposantFiltreOperateur filtresuivant = new CComposantFiltreOperateur(idOperateur);
                        filtrelast.Parametres.Add(filtresuivant);
                        filtrelast = filtresuivant;
                    }
                }
            }
            else if (nbEle == 1)
            {
                filtrebase = m_lstFils[0].GetComposantFiltre();
            }
            else
            {
                return(null);
            }

            return(filtrebase);
        }
Example #5
0
 void m_ctrlOU_SuppressionElement(CDataGridViewColonneFilterComponent element)
 {
     if (m_ctrlOU.Elements.Count > 1)
     {
         m_ctrlOU.SelectionnerElement(m_ctrlOU.Elements[0]);
     }
     else
     {
         m_ctrlET.Enabled = false;
     }
 }
        private Control GetControlSelectOf(CDataGridViewColonneFilterComponent ele)
        {
            string idx = GetIndex(ele);

            foreach (Control c in m_panChks.Controls)
            {
                if (c is Panel && c.Name == idx)
                {
                    return(c.Controls[0]);
                }
            }

            return(null);
        }
        private void m_btnSupprimer_Click(object sender, EventArgs e)
        {
            if (CFormAlerte.Afficher(I.T("Delete this element ?|1180"), EFormAlerteType.Question) == DialogResult.No)
            {
                return;
            }

            try
            {
                for (int i = m_panChks.Controls.Count; i > 0; i--)
                {
                    Control c = m_panChks.Controls[i - 1];
                    if (c is Panel && ((m_bMultiSelect && ((CheckBox)c.Controls[0]).Checked || !m_bMultiSelect && ((RadioButton)c.Controls[0]).Checked)))
                    {
                        CDataGridViewColonneFilterComponent ele = (CDataGridViewColonneFilterComponent)m_indexage[c.Name];
                        if (SuppressionElement != null)
                        {
                            SuppressionElement(ele);
                        }

                        if (DeleteEditeur(c.Name) && Remove(c.Name))
                        {
                            m_panChks.Controls[i - 1].Dispose();
                            //m_panChks.Controls.RemoveAt(i - 1);
                        }
                        else
                        {
                            CFormAlerte.Afficher(I.T("Error while deleting the element|1181"), EFormAlerteType.Erreur);
                        }

                        if (!m_bMultiSelect)
                        {
                            break;
                        }
                    }
                }
                m_btnSupprimer.Enabled = false;
            }
            catch
            {
                CFormAlerte.Afficher(I.T("General error while deleting the Element|1182"), EFormAlerteType.Erreur);
            }
        }
 private void Indexer(CDataGridViewColonneFilterComponent element)
 {
     m_indexage.Add(Guid.NewGuid().ToString(), element);
 }
        public void AjouterElement(CDataGridViewColonneFilterComponent ele)
        {
            m_elements.Add(ele);

            Control ctrl = null;

            if (m_typeEles == typeof(CDataGridViewColonneFilterSituation))
            {
                CCtrlEditColonneFilterSituation edit = new CCtrlEditColonneFilterSituation();
                edit.Initialiser((CDataGridViewColonneFilterSituation)ele);
                ctrl = edit;
            }
            else if (m_typeEles == typeof(CDataGridViewColonneFilterTest))
            {
                CCtrlEditColonneFilterTest edit = new CCtrlEditColonneFilterTest();
                edit.Initialiser((CDataGridViewColonneFilterTest)ele);
                ctrl = edit;
            }
            else
            {
                CFormAlerte.Afficher(I.T("Impossible to identify the filter component|1179"), EFormAlerteType.Erreur);
                return;
            }
            Indexer(ele);
            ctrl.Name = GetIndex(ele);
            ctrl.Dock = DockStyle.Top;

            m_panElements.Controls.Add(ctrl);
            ctrl.BringToFront();

            //Ajout de la chkbox
            Panel p = new Panel();

            p.Name   = ctrl.Name;
            p.Height = ctrl.Height;
            p.Width  = 60;
            m_panChks.Controls.Add(p);
            p.Dock = DockStyle.Top;
            p.BringToFront();

            if (m_bMultiSelect)
            {
                CheckBox chk = new CheckBox();
                chk.Name            = ctrl.Name;
                chk.Checked         = false;
                chk.CheckedChanged += new EventHandler(ChangementListeSelection);
                p.Controls.Add(chk);
            }
            else
            {
                RadioButton rbt = new RadioButton();
                rbt.Name            = ctrl.Name;
                rbt.Checked         = false;
                rbt.CheckedChanged += new EventHandler(ChangementListeSelection);
                if (m_bSelecOnClicControl)
                {
                    ctrl.Click += new EventHandler(ChangementListeSelection);
                }
                p.Controls.Add(rbt);
            }

            if (AjoutElement != null)
            {
                AjoutElement(ele, new EventArgs());
            }
        }