private void CreateCurrentFilters(IList <IFilter> filters) { plhCurrentFilters.Controls.Clear(); foreach (IFilter f in filters) { if (f is FixedFilter) { continue; } //Add Last Filters to plhCurrentFilters FilterLinkButton fl = new FilterLinkButton(); fl.ID = "flb" + f.ClassName; fl.LinkText = string.Format("{0} : <b>{1}</b>", Resource.Business.GetString(f.ID), StringFormat.Cut(f.TextValue.ToString().Replace((char)160, ' ').Trim(), 29)); fl.RelatedFilterID = f.ID.ToString(); fl.Click += Link_Click; plhCurrentFilters.Controls.Add(fl); } if (plhCurrentFilters.Controls.Count == 0) { lblFilterText.Text = "No hay ningún filtro activo."; } else { lblFilterText.Text = "Se encuentra filtrando por:"; } }
protected void Link_Click(object sender, EventArgs e) { FilterLinkButton flb = (FilterLinkButton)sender; List <IFilter> lst = GetFiltersApplied(); foreach (IFilter f in lst) { if (f.ID.ToString() == flb.RelatedFilterID.ToString()) { f.Clear(); } } UpdateState(lst); plhCurrentFilters.Controls.Remove(flb); if (plhCurrentFilters.Controls.Count == 0) { lblFilterText.Text = "No hay ningún filtro activo."; } SearchAppliedOnly(); }