public virtual void Clear() { foreach (TelerikFieldFilterDescriptor fieldFilter in ObservedFieldFilters) { fieldFilter.PropertyChanged -= fieldFilterHasChangedDelegate; } ObservedFieldFilters.Clear(); AmbethFilterDescriptor = null; }
public virtual void ControlFiltering(Object sender, GridViewFilteringEventArgs e) { UIControlFilterList = ((GridViewDataControl)sender).FilterDescriptors; if (ObservedFieldFilters.Count > UIControlFilterList.Count) { IList <TelerikFieldFilterDescriptor> toDelete = new List <TelerikFieldFilterDescriptor>(); foreach (TelerikFieldFilterDescriptor fieldFilter in ObservedFieldFilters) { if (!fieldFilter.IsActive) { toDelete.Add(fieldFilter); } } foreach (TelerikFieldFilterDescriptor fieldFilter in toDelete) { if (ObservedFieldFilters.Remove(fieldFilter)) { fieldFilter.PropertyChanged -= fieldFilterHasChangedDelegate; } } } // If only the logical operator of a FieldFilter is changed, then no Filtering event is fired // => Changes in the FieldFilters must be tracked in addition if (e.ColumnFilterDescriptor.IsActive && e.ColumnFilterDescriptor.FieldFilter != null) { if (!ObservedFieldFilters.Contains(e.ColumnFilterDescriptor.FieldFilter)) { ObservedFieldFilters.Add(e.ColumnFilterDescriptor.FieldFilter); e.ColumnFilterDescriptor.FieldFilter.PropertyChanged += fieldFilterHasChangedDelegate; } } AmbethIFilterDescriptor tempDescriptor = FilterDescriptorConverter.ConvertTelerikFilterCollection(UIControlFilterList); if (e.ColumnFilterDescriptor.IsActive == false && e.Added.Count <TelerikIFilterDescriptor>() > 0) { AmbethFilterDescriptor = this.FilterDescriptorConverter.AddTelerikFilterDescriptor(tempDescriptor, ((IList <TelerikIFilterDescriptor>)e.Added)[0]); return; } AmbethFilterDescriptor = tempDescriptor; }