void Edit(DBFilter filter) { ManageFiltersWindow filterWindow = new ManageFiltersWindow(filterList.Select(n => n.Name).ToList()); System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(filterWindow); filterWindow.CurrentTable = _parentDbController.CurrentTable; if (filterListView.SelectedItems.Count == 1) { filterWindow.Filter = filter; } filterWindow.ShowDialog(); if (filterWindow.DialogResult.Value) { DBFilter editedfilter = filterWindow.Filter; // Save the edited filter data. int index = filterList.IndexOf((DBFilter)filterListView.SelectedItem); filterList[index].Name = editedfilter.Name; filterList[index].ApplyToColumn = editedfilter.ApplyToColumn; filterList[index].FilterValue = editedfilter.FilterValue; filterList[index].MatchMode = editedfilter.MatchMode; if (editedfilter.IsActive) { _parentDbController.UpdateVisibleRows(); _parentDbController.dbDataGrid.Items.Refresh(); } SaveFilters(); } }
private void addFilterButton_Click(object sender, RoutedEventArgs e) { ManageFiltersWindow filterWindow = new ManageFiltersWindow(filterList.Select(n => n.Name).ToList()); System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(filterWindow); filterWindow.CurrentTable = _parentDbController.CurrentTable; filterWindow.Filter = new DBFilter(); filterWindow.ShowDialog(); if (filterWindow.DialogResult.Value) { DBFilter filter = filterWindow.Filter; // Attach event handler for checked/unchecked toggle. filter.FilterToggled += new EventHandler(filter_FilterToggled); // Only add the filter if the name is unique. filterList.Add(filter); SaveFilters(); } }