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); } } }
public CGridFilterForWndDataGrid GetFiltre() { if (m_checkedValues.Count() == m_strValues.Length) { return(null); } CGridFilterListeValeurs filtre = new CGridFilterListeValeurs(); filtre.ListeValeurs = m_checkedValues; return(filtre); }