예제 #1
0
        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();
        }
예제 #2
0
        /// <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;
        }