Esempio n. 1
0
        public void FillWithValues(CCoupleValeurEtValeurDisplay[] values, CGridFilterListeValeurs filtre)
        {
            HashSet <string> setValues = new HashSet <string>();

            foreach (CCoupleValeurEtValeurDisplay cpl in values)
            {
                setValues.Add(cpl.StringValue);
            }
            List <string> lst = new List <string>(setValues.ToArray());

            lst.Sort();
            m_strValues     = lst.ToArray();
            m_checkedValues = new HashSet <string>();
            if (filtre != null)
            {
                foreach (string strVal in filtre.ListeValeurs)
                {
                    m_checkedValues.Add(strVal);
                }
            }
            else
            {
                foreach (string strVal in lst)
                {
                    m_checkedValues.Add(strVal);
                }
            }
            m_txtSearch.Text = "";
            RefillListe();
        }
        private void FillMenuFiltre(int nColIndex, C2iWndDataGridColumn colonne)
        {
            m_nColIndexForFiltre = nColIndex;
            foreach (ToolStripItem item in new ArrayList(m_menuFiltreSpecial.DropDownItems))
            {
                m_menuFiltreSpecial.DropDownItems.Remove(item);
                if (item != m_valueSelector)
                {
                    item.Dispose();
                }
            }
            m_menuFiltreSpecial.DropDownItems.Clear();
            CGridFilterForWndDataGrid filtreActif = null;

            m_dicFiltre.TryGetValue(nColIndex, out filtreActif);
            IWndIncluableDansDataGrid wnd = colonne.Control as IWndIncluableDansDataGrid;

            if (wnd != null)
            {
                foreach (CGridFilterForWndDataGrid filtre in wnd.GetPossibleFilters())
                {
                    CGridFilterForWndDataGrid filtreToSet = filtre;
                    if (filtreActif != null && filtreActif.GetType() == filtre.GetType())
                    {
                        filtreToSet = filtreActif;
                    }
                    ToolStripMenuItem itemFiltre = new ToolStripMenuItem(filtreToSet.Label);
                    itemFiltre.Tag     = filtreToSet;
                    itemFiltre.Click  += new EventHandler(itemFiltre_Click);
                    itemFiltre.Checked = filtreToSet == filtreActif;
                    m_menuFiltreSpecial.DropDownItems.Add(itemFiltre);
                }
            }
            IEnumerable <object> source = m_listeObjetsOriginale;

            if (source != null)
            {
                CGridFilterListeValeurs             filtreListe = filtreActif as CGridFilterListeValeurs;
                List <CCoupleValeurEtValeurDisplay> lstValeurs  = new List <CCoupleValeurEtValeurDisplay>();
                if (filtreListe == null)
                {
                    source = m_grid.DataSource as IEnumerable <object>;
                }
                foreach (object obj in source)
                {
                    CCoupleValeurEtValeurDisplay valeur = m_cache.GetValeur(obj, nColIndex, false);
                    if (valeur != null)
                    {
                        lstValeurs.Add(valeur);
                    }
                }
                m_valueSelector.Selector.FillWithValues(lstValeurs.ToArray(), filtreListe);
                if (!m_menuFiltre.Items.Contains(m_valueSelector))
                {
                    m_menuFiltre.Items.Add(m_valueSelector);
                }
            }
        }
Esempio n. 3
0
        public CGridFilterForWndDataGrid GetFiltre()
        {
            if (m_checkedValues.Count() == m_strValues.Length)
            {
                return(null);
            }
            CGridFilterListeValeurs filtre = new CGridFilterListeValeurs();

            filtre.ListeValeurs = m_checkedValues;
            return(filtre);
        }