GetQueryController( System.Windows.Controls.DataGrid dataGrid, FilterData filterData, IEnumerable itemsSource) { QueryController query; query = DataGridExtensions.GetDataGridFilterQueryController(dataGrid); if (query == null) { //clear the filter if exisits begin System.ComponentModel.ICollectionView view = System.Windows.Data.CollectionViewSource.GetDefaultView(dataGrid.ItemsSource); if (view != null) view.Filter = null; //clear the filter if exisits end query = new QueryController(); DataGridExtensions.SetDataGridFilterQueryController(dataGrid, query); } query.ColumnFilterData = filterData; query.ItemsSource = itemsSource; query.CallingThreadDispatcher = dataGrid.Dispatcher; query.UseBackgroundWorker = DataGridExtensions.GetUseBackgroundWorkerForFiltering(dataGrid); return query; }
GetQueryController( System.Windows.Controls.DataGrid dataGrid, FilterData filterData, IEnumerable itemsSource) { QueryController query; query = DataGridExtensions.GetDataGridFilterQueryController(dataGrid); if (query == null) { //clear the filter if exisits begin System.ComponentModel.ICollectionView view = System.Windows.Data.CollectionViewSource.GetDefaultView(dataGrid.ItemsSource); if (view != null) { view.Filter = null; } //clear the filter if exisits end query = new QueryController(); DataGridExtensions.SetDataGridFilterQueryController(dataGrid, query); } query.ColumnFilterData = filterData; query.ItemsSource = itemsSource; query.CallingThreadDispatcher = dataGrid.Dispatcher; query.UseBackgroundWorker = DataGridExtensions.GetUseBackgroundWorkerForFiltering(dataGrid); return(query); }
GetQueryController( System.Windows.Controls.DataGrid dataGrid, FilterData filterData, IEnumerable itemsSource) { QueryController query; query = DataGridExtensions.GetDataGridFilterQueryController(dataGrid); if (query == null) { query = new QueryController(); DataGridExtensions.SetDataGridFilterQueryController(dataGrid, query); } query.ColumnFilterData = filterData; query.ItemsSource = itemsSource; query.CallingThreadDispatcher = dataGrid.Dispatcher; query.UseBackgroundWorker = DataGridExtensions.GetUseBackgroundWorkerForFiltering(dataGrid); return(query); }
private void addFilterStateHandlers(QueryController query) { query.FilteringStarted -= new EventHandler<EventArgs>(query_FilteringStarted); query.FilteringFinished -= new EventHandler<EventArgs>(query_FilteringFinished); query.FilteringStarted += new EventHandler<EventArgs>(query_FilteringStarted); query.FilteringFinished += new EventHandler<EventArgs>(query_FilteringFinished); }
public static void SetDataGridFilterQueryController(DependencyObject target, QueryController value) { target.SetValue(DataGridFilterQueryControllerProperty, value); }