Ajout d'une fonctionnalité de filtrage basique

This commit is contained in:
2020-12-01 21:57:15 +01:00
parent fb57383ec2
commit 60d94c407a
2 changed files with 58 additions and 6 deletions

View File

@@ -4,6 +4,7 @@ using System.Data.Entity;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Input;
using System.Windows.Data;
namespace Hermes {
/// <summary>
@@ -13,6 +14,7 @@ namespace Hermes {
private ModelContext dbContext = null;
private CitoyenModal citoyenModal = new CitoyenModal();
private PreferencesModal preferencesModal = new PreferencesModal();
private CollectionViewSource citoyenCollectionViewSource = null;
public MainWindow() {
dbContext = ModelContext.Getinstance();
@@ -27,7 +29,9 @@ namespace Hermes {
preferencesModal.Owner = this;
dbContext.CitoyenSet.Load();
dbContext.Preferences.Load();
dgCitoyens.ItemsSource = dbContext.CitoyenSet.Local;
citoyenCollectionViewSource = (CollectionViewSource) this.FindResource("citoyenCollectionViewSource");
citoyenCollectionViewSource.Source = dbContext.CitoyenSet.Local;
//dgCitoyens.ItemsSource = dbContext.CitoyenSet.Local;
}
private void Options_Click(object sender, RoutedEventArgs e) {
@@ -64,10 +68,32 @@ namespace Hermes {
}
}
private void Rechercher_Click(object sender, RoutedEventArgs e) {
citoyenCollectionViewSource.Filter += new FilterEventHandler(CitoyenFilter);
//citoyenCollectionViewSource.View.Refresh();
}
private void Reinitialiser_Click(object sender, RoutedEventArgs e) {
citoyenCollectionViewSource.Filter -= new FilterEventHandler(CitoyenFilter);
//citoyenCollectionViewSource.View.Refresh();
}
protected override void OnClosed(EventArgs e) {
dbContext.Dispose();
base.OnClosed(e);
Application.Current.Shutdown();
}
private void CitoyenFilter(object sender, FilterEventArgs e) {
Citoyen citoyen = (Citoyen) e.Item;
e.Accepted = true;
if(citoyen != null) {
if(!String.IsNullOrWhiteSpace(professionFilterTextBox.Text)) {
if(!citoyen.Profession.ToLower().Contains(professionFilterTextBox.Text.ToLower())) {
e.Accepted = false;
}
}
}
}
}
}