Ajout d'une fonctionnalité de filtrage basique
This commit is contained in:
parent
fb57383ec2
commit
60d94c407a
@ -11,11 +11,12 @@
|
|||||||
Title="Hermes" Height="512" Width="1024">
|
Title="Hermes" Height="512" Width="1024">
|
||||||
<Window.Resources>
|
<Window.Resources>
|
||||||
<BooleanToVisibilityConverter x:Key="Bool2VisibilityConv"/>
|
<BooleanToVisibilityConverter x:Key="Bool2VisibilityConv"/>
|
||||||
|
<CollectionViewSource x:Key="citoyenCollectionViewSource"/>
|
||||||
</Window.Resources>
|
</Window.Resources>
|
||||||
<Grid Background="WhiteSmoke">
|
<Grid Background="WhiteSmoke">
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="20"/>
|
<RowDefinition Height="20"/>
|
||||||
<RowDefinition Height="100"/>
|
<RowDefinition Height="90"/>
|
||||||
<RowDefinition Height="*"/>
|
<RowDefinition Height="*"/>
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<Menu Grid.Row="0" Background="White">
|
<Menu Grid.Row="0" Background="White">
|
||||||
@ -59,19 +60,44 @@
|
|||||||
</MenuItem>
|
</MenuItem>
|
||||||
</Menu>
|
</Menu>
|
||||||
<WrapPanel Grid.Row="1" Margin="10">
|
<WrapPanel Grid.Row="1" Margin="10">
|
||||||
<StackPanel Margin="5">
|
<StackPanel Margin="5,5,0,0">
|
||||||
<Label>Age :</Label>
|
<Label>Age :</Label>
|
||||||
<WrapPanel>
|
<WrapPanel>
|
||||||
<ComboBox Name="ageOperationFilter" Width="150" Margin="0,0,5,0">
|
<ComboBox Name="ageOperationFilterComboBox" Width="150" Margin="0,0,5,0">
|
||||||
<ComboBoxItem IsSelected="True">Égal à</ComboBoxItem>
|
<ComboBoxItem IsSelected="True">Égal à</ComboBoxItem>
|
||||||
<ComboBoxItem>Supérieur à</ComboBoxItem>
|
<ComboBoxItem>Supérieur à</ComboBoxItem>
|
||||||
<ComboBoxItem>Inférieur à</ComboBoxItem>
|
<ComboBoxItem>Inférieur à</ComboBoxItem>
|
||||||
</ComboBox>
|
</ComboBox>
|
||||||
<TextBox VerticalContentAlignment="Center" HorizontalAlignment="Left" Height="23" Width="40"/>
|
<TextBox Name="ageFilterTextBox" VerticalContentAlignment="Center" HorizontalAlignment="Left" Height="23" Width="40"/>
|
||||||
</WrapPanel>
|
</WrapPanel>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
<StackPanel Margin="10,5,0,0">
|
||||||
|
<Label>Profession :</Label>
|
||||||
|
<TextBox Name="professionFilterTextBox" VerticalContentAlignment="Center" HorizontalAlignment="Left" Height="23" Width="150"/>
|
||||||
|
</StackPanel>
|
||||||
|
<StackPanel Margin="10,5,0,0">
|
||||||
|
<Label>Adresse :</Label>
|
||||||
|
<TextBox Name="adresseFilterTextBox" VerticalContentAlignment="Center" HorizontalAlignment="Left" Height="23" Width="150"/>
|
||||||
|
</StackPanel>
|
||||||
|
<StackPanel Margin="10,5,0,0">
|
||||||
|
<Label>Quartier :</Label>
|
||||||
|
<TextBox Name="quartierFilterTextBox" VerticalContentAlignment="Center" HorizontalAlignment="Left" Height="23" Width="150"/>
|
||||||
|
</StackPanel>
|
||||||
|
<StackPanel Margin="10,5,0,0">
|
||||||
|
<Label>Résidence :</Label>
|
||||||
|
<WrapPanel>
|
||||||
|
<ComboBox Name="residenceFilterComboBox" Width="150" Margin="0,0,5,0">
|
||||||
|
<ComboBoxItem>Principale</ComboBoxItem>
|
||||||
|
<ComboBoxItem>Secondaire</ComboBoxItem>
|
||||||
|
</ComboBox>
|
||||||
|
</WrapPanel>
|
||||||
|
</StackPanel>
|
||||||
|
<StackPanel Margin="10,5,0,0">
|
||||||
|
<Button Margin="0,0,0,10" Height="25" Width="100" IsDefault="True" Click="Rechercher_Click">Rechercher</Button>
|
||||||
|
<Button Margin="0,0,0,5" Height="25" Width="100" Click="Reinitialiser_Click">Réinitialiser</Button>
|
||||||
|
</StackPanel>
|
||||||
</WrapPanel>
|
</WrapPanel>
|
||||||
<DataGrid Background="White" Grid.Row="2" VerticalScrollBarVisibility="Visible" GridLinesVisibility="All" Margin="10" Name="dgCitoyens" AutoGenerateColumns="False" IsReadOnly="True" MouseDoubleClick="DgCitoyen_DoubleClick">
|
<DataGrid ItemsSource="{Binding Source={StaticResource citoyenCollectionViewSource}}" Background="White" Grid.Row="2" VerticalScrollBarVisibility="Visible" GridLinesVisibility="All" Margin="10" Name="dgCitoyens" AutoGenerateColumns="False" IsReadOnly="True" MouseDoubleClick="DgCitoyen_DoubleClick">
|
||||||
<DataGrid.Columns>
|
<DataGrid.Columns>
|
||||||
<DataGridTextColumn Header="Civilité" Visibility="{Binding Source={x:Reference civiliteViewCheckBox}, Path=IsChecked, Converter={StaticResource Bool2VisibilityConv}}" Binding="{Binding Civilite}" Width="*"/>
|
<DataGridTextColumn Header="Civilité" Visibility="{Binding Source={x:Reference civiliteViewCheckBox}, Path=IsChecked, Converter={StaticResource Bool2VisibilityConv}}" Binding="{Binding Civilite}" Width="*"/>
|
||||||
<DataGridTextColumn Header="Nom" Visibility="{Binding Source={x:Reference nomViewCheckBox}, Path=IsChecked, Converter={StaticResource Bool2VisibilityConv}}" Binding="{Binding Nom}" Width="*"/>
|
<DataGridTextColumn Header="Nom" Visibility="{Binding Source={x:Reference nomViewCheckBox}, Path=IsChecked, Converter={StaticResource Bool2VisibilityConv}}" Binding="{Binding Nom}" Width="*"/>
|
||||||
|
@ -4,6 +4,7 @@ using System.Data.Entity;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
|
using System.Windows.Data;
|
||||||
|
|
||||||
namespace Hermes {
|
namespace Hermes {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -13,6 +14,7 @@ namespace Hermes {
|
|||||||
private ModelContext dbContext = null;
|
private ModelContext dbContext = null;
|
||||||
private CitoyenModal citoyenModal = new CitoyenModal();
|
private CitoyenModal citoyenModal = new CitoyenModal();
|
||||||
private PreferencesModal preferencesModal = new PreferencesModal();
|
private PreferencesModal preferencesModal = new PreferencesModal();
|
||||||
|
private CollectionViewSource citoyenCollectionViewSource = null;
|
||||||
|
|
||||||
public MainWindow() {
|
public MainWindow() {
|
||||||
dbContext = ModelContext.Getinstance();
|
dbContext = ModelContext.Getinstance();
|
||||||
@ -27,7 +29,9 @@ namespace Hermes {
|
|||||||
preferencesModal.Owner = this;
|
preferencesModal.Owner = this;
|
||||||
dbContext.CitoyenSet.Load();
|
dbContext.CitoyenSet.Load();
|
||||||
dbContext.Preferences.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) {
|
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) {
|
protected override void OnClosed(EventArgs e) {
|
||||||
dbContext.Dispose();
|
dbContext.Dispose();
|
||||||
base.OnClosed(e);
|
base.OnClosed(e);
|
||||||
Application.Current.Shutdown();
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user