예제 #1
0
        GetQueryController(
            System.Windows.Controls.DataGrid dataGrid,
            FilterData filterData, IEnumerable itemsSource)
        {
            if (dataGrid == null)
            {
                throw new ArgumentNullException(nameof(dataGrid));
            }

            var query = DataGridExtensions.GetDataGridFilterQueryController(dataGrid);

            if (query == null)
            {
                //clear the filter if exists begin
                System.ComponentModel.ICollectionView view
                    = System.Windows.Data.CollectionViewSource.GetDefaultView(dataGrid.ItemsSource);
                if (view != null)
                {
                    view.Filter = null;
                }
                //clear the filter if exists 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);
        }
        public void ClearFilters()
        {
            var vw         = GetView() as Views.PowerBIPerformanceDataView;
            var controller = DataGridExtensions.GetDataGridFilterQueryController(vw.PerformanceData);

            controller.ClearFilter();
        }
        public override void ClearFilters()
        {
            var vw         = GetView() as Views.AllServerQueriesView;
            var controller = DataGridExtensions.GetDataGridFilterQueryController(vw.QueryEvents);

            controller.ClearFilter();
        }
예제 #4
0
        private void ApplicationStatusSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var      comboBox     = sender as ComboBox;
            DataItem selectedItem = (DataItem)this.SampleGrid.CurrentItem;

            if (comboBox.SelectedItem == null || selectedItem.str_jobapplications_ApplicationStatus == ((EmployeeStatus)comboBox.SelectedItem).Name)
            {
                return;
            }
            //Create Connection
            SqlConnection thisConnection = new SqlConnection(@"Data Source=.\SQLEXPRESS02;Initial Catalog=IdealAutomateDB;Integrated Security=SSPI");

            OpenConnection(thisConnection);
            try
            {
                // 1. Create Command
                // Sql Update Statement
                string     updateSql = "UPDATE JobApplications " + "SET ApplicationStatus = @ApplicationStatus, DateApplied = @DateApplied, DateLastModified = @DateLastModified " + "WHERE JobUrl = @JobUrl";
                SqlCommand UpdateCmd = new SqlCommand(updateSql, thisConnection);

                // 2. Map Parameters

                UpdateCmd.Parameters.Add("@ApplicationStatus", SqlDbType.NVarChar, 50, "ApplicationStatus");

                UpdateCmd.Parameters.Add("@JobUrl", SqlDbType.NVarChar, 4000, "JobUrl");
                UpdateCmd.Parameters.Add("@DateApplied", SqlDbType.DateTime);
                UpdateCmd.Parameters.Add("@DateLastModified", SqlDbType.DateTime);

                UpdateCmd.Parameters["@ApplicationStatus"].Value = ((EmployeeStatus)comboBox.SelectedItem).Name;
                UpdateCmd.Parameters["@JobUrl"].Value            = selectedItem.str_jobapplications_JobUrl;
                if (comboBox.SelectedItem.ToString() == "Applied")
                {
                    UpdateCmd.Parameters["@DateApplied"].Value = System.DateTime.Now;
                }
                else
                {
                    UpdateCmd.Parameters["@DateApplied"].Value = DBNull.Value;
                }
                UpdateCmd.Parameters["@DateLastModified"].Value = System.DateTime.Now;
                UpdateCmd.ExecuteNonQuery();
                this.SampleGrid.CommitEdit();
                this.SampleGrid.CommitEdit();
                var query = DataGridExtensions.GetDataGridFilterQueryController(SampleGrid);

                query.DoQuery(true);
            }

            catch (SqlException ex)
            {
                // Display error
                Console.WriteLine("Error: " + ex.ToString());
            }

            // Close Connection
            thisConnection.Close();
            //   SetUpPlanets();
        }
        public void SetDefaultFilter(string column, string value)
        {
            var vw         = this.GetView() as Views.AllServerQueriesView;
            var controller = DataGridExtensions.GetDataGridFilterQueryController(vw.QueryEvents);
            var filters    = controller.GetFiltersForColumns();

            var columnFilter = filters.FirstOrDefault(w => w.Key == column);

            if (columnFilter.Key != null)
            {
                columnFilter.Value.QueryString = value;

                controller.SetFiltersForColumns(filters);
            }
        }
예제 #6
0
        public BrowserGrid()
        {
            InitializeComponent();
            this.BrowserGridContextMenu = new BrowserGridContextMenu();
            this.ContextMenu            = this.BrowserGridContextMenu;


            FilterHandler          = new FilterHandler();
            FilterHandler.Handler += OnFilter;
            DataGridExtensions.SetFilterHandler(this, FilterHandler);

            FilterData = new FilterDatas();
            DataGridExtensions.SetFilterDatas(this, FilterData);

            this.CommandBindings.Add(new CommandBinding(ApplicationCommands.SelectAll, SelectAll_Executed));
        }
예제 #7
0
        /// <summary>
        /// Gets the query controller.
        /// </summary>
        /// <param name="dataGrid">The data grid.</param>
        /// <param name="filterData">The filter data.</param>
        /// <param name="itemsSource">The items source.</param>
        /// <returns></returns>
        public static QueryController GetQueryController(System.Windows.Controls.DataGrid dataGrid, FilterData filterData, IEnumerable itemsSource)
        {
            var controller = DataGridExtensions.GetDataGridFilterQueryController(dataGrid);

            if (controller == null)
            {
                controller = new QueryController();
                DataGridExtensions.SetDataGridFilterQueryController(dataGrid, controller);
            }

            controller.ColumnFilterData        = filterData;
            controller.ItemsSource             = itemsSource;
            controller.CallingThreadDispatcher = dataGrid.Dispatcher;
            controller.UseBackgroundWorker     = DataGridExtensions.GetUseBackgroundWorkerForFiltering(dataGrid);

            return(controller);
        }
예제 #8
0
        private void SetDefaultValues()
        {
            QueryController queryController = DataGridExtensions.GetDataGridFilterQueryController(this.SampleGrid);

            var filters = queryController.GetFiltersForColumns();

            //var keywordFilter = filters.FirstOrDefault(w => w.Key == "str_jobapplications_Keyword");
            //keywordFilter.Value.QueryString = "c";

            var dateAddedFilter = filters.FirstOrDefault(w => w.Key == "dt_jobapplications_DateAdded");

            dateAddedFilter.Value.QueryString = System.DateTime.Today.AddDays(-7).ToShortDateString();
            dateAddedFilter.Value.Operator    = DataGridFilterLibrary.Support.FilterOperator.GreaterThanOrEqual;

            //var positionAge = filters.FirstOrDefault(w => w.Key == "Position.Age");
            //positionAge.Value.QueryString = "10";
            //positionAge.Value.QueryStringTo = "20";

            queryController.SetFiltersForColumns(filters);
        }
예제 #9
0
        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);
        }