private void OnColumnFiltering(GridViewFilteringEventArgs args) { var vm = DataContext as SelectCrossRefViewModel; if (vm == null || vm.IsBusy || vm.IsPopulatingNewPageItems) return; if (args.Added != null && args.Added.Any()) { var descriptor = args.Added.First() as ColumnFilterDescriptor; if (descriptor != null) _filterValues[descriptor.Member] = (string)descriptor.Value; } if (args.Removed != null && args.Removed.Any()) { var descriptor = args.Removed.First() as ColumnFilterDescriptor; if (descriptor != null) { if (_filterValues.ContainsKey(descriptor.Member)) _filterValues.Remove(descriptor.Member); } } ApplyFilter(vm); }
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; }
private void Filtering(object sender, GridViewFilteringEventArgs e) { e.Cancel = true; var column = _grid.Columns[e.ColumnFilterDescriptor.Column.UniqueName]; if (column == null) return; var filterableList = _grid.DataContext as IFilterableList; if (filterableList == null) return; if (e.Added == null || !e.Added.Any()) return; foreach (var f in e.Added.ToList().Select(filter => (filter as Telerik.Windows.Data.FilterDescriptor)).Where(f => f != null)) filterableList.AddFilter(new FilterDescriptor(f.Member, f.Operator.ToFilterOperator(), f.Value)); filterableList.ApplyFiter(); }
private void gridView_Filtering(object sender, GridViewFilteringEventArgs e) { }