protected void addFilterCommand(ServerColumnFilter newFilter) { //Update the filter collection if (ColumnFilters == null) { //Initiate the collection with the filter ColumnFilters = new List <ServerColumnFilter> { newFilter }; } else { //See if there is already an entry for this column var oldfilter = ColumnFilters.FirstOrDefault(f => f.ColumnName == newFilter.ColumnName); if (oldfilter != null) { if (string.IsNullOrEmpty(newFilter.FilterText)) { ColumnFilters.Remove(oldfilter); } else { oldfilter.FilterText = newFilter.FilterText; } } else { columnFilters.Add(newFilter); } } //Send it to the server UpdateDataStream(); }
/// <summary> /// Send update to the listening object /// </summary> /// <param name="sender">Main Grid</param> /// <param name="e">Change Information</param> private void OnColumnFilterChanged(object sender, ColumnFilterChangedEventArgs e) { var filter = new ServerColumnFilter { ColumnName = model.GetServerColumnName(e.Column), Operation = ServerColumnFilter.FilterOperation.StartsWith, FilterText = e.NewValue }; if (AddFilterCommand.CanExecute(null)) { AddFilterCommand.Execute(filter); } //Go to the top of the grid ScrolledRowNumber = 0; }