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">
|
||||
<Window.Resources>
|
||||
<BooleanToVisibilityConverter x:Key="Bool2VisibilityConv"/>
|
||||
<CollectionViewSource x:Key="citoyenCollectionViewSource"/>
|
||||
</Window.Resources>
|
||||
<Grid Background="WhiteSmoke">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="20"/>
|
||||
<RowDefinition Height="100"/>
|
||||
<RowDefinition Height="90"/>
|
||||
<RowDefinition Height="*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Menu Grid.Row="0" Background="White">
|
||||
@ -59,19 +60,44 @@
|
||||
</MenuItem>
|
||||
</Menu>
|
||||
<WrapPanel Grid.Row="1" Margin="10">
|
||||
<StackPanel Margin="5">
|
||||
<StackPanel Margin="5,5,0,0">
|
||||
<Label>Age :</Label>
|
||||
<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>Supérieur à</ComboBoxItem>
|
||||
<ComboBoxItem>Inférieur à</ComboBoxItem>
|
||||
</ComboBox>
|
||||
<TextBox VerticalContentAlignment="Center" HorizontalAlignment="Left" Height="23" Width="40"/>
|
||||
<TextBox Name="ageFilterTextBox" VerticalContentAlignment="Center" HorizontalAlignment="Left" Height="23" Width="40"/>
|
||||
</WrapPanel>
|
||||
</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>
|
||||
<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>
|
||||
<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="*"/>
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user