IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

Champ de recherche et binding


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2013
    Messages : 26
    Par défaut Champ de recherche et binding
    Bonjour,

    j'ai actuellement une base de données à laquelle j'accède via dataset. En particulier j'ai une table film avec, pour ce qui nous intéresse ici, un attribut titre et un attribut catégorie.

    Dans une listview que j'ai bind avec cette table de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <Grid DataContext="{StaticResource FilmsViewSource}">
     
            <ListView x:Name="list" HorizontalAlignment="Left" Height="299" Margin="10,10,0,0" VerticalAlignment="Top" Width="134" DisplayMemberPath="Titre" ItemsSource="{Binding}" SelectedValuePath="Titre" SelectionMode="Single" HorizontalContentAlignment="Stretch">
            </ListView>
    </Grid>
    je récupère donc mes titres. Cependant j'aimerais pouvoir mettre a cote un champ, par exemple un combobox qui proposerait les differentes categories et qui lors d'un choix mettrais automatiquement a jour la listview pour n'afficher que les titres des films qui sont effectivement de cette catégorie.
    Que dois-je modifier dans mon binding pour faire cela ?

    Merci pour votre aide.

  2. #2
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Tu rajoutes une combobox, bindée sur la liste des catégories.

    Lors d'une sélection (tu peux la détecter dans la propriété SelectedCategory que tu binde sur le SelectedItem du combobox, ou alors utiliser un behaviour EventToCommand (comme dans MVVMLight) qui appellera une commande lorsque l'event SelectionChanged st levé) tu filtre la liste des films.

    Ne pas oublier INotifyPropertyChanged ou alors utiliser une ObservableCollection, par exemple, pour être sûr que l'UI soit averti du changement.

  3. #3
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    bonjour

    Pas besoin de Table ou Liste Categories...
    Une autre possibilite c'est de customiser le ListView avec un ListView.GroupStyle dote d'un expander ...
    Un CollectionViewSource qui sert de vue par defaut à l' ObservableCollection<Film> permet de faire le grouping par Categorie....
    Neanmoins comme dit par GuruMeditation , ta methode d'acces à la BD doit renvoyer un ObservableCollection<Film> et non un DataTable Films ...

    code behind .cs du class "wrapper" Film :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.ComponentModel;
     
    namespace WpfListViewFilms
    {
        public class Film : INotifyPropertyChanged
        {
            private string _titre ;
            public string TITRE 
            {
                get { return _titre; }
                set 
                { 
                     _titre=value ;
                     OnPropertyChanged("TITRE");
                } 
            }
            private string  _categorie ;
            public string CATEGORIE
            { 
                get { return _categorie; }
                set
                { 
                    _categorie=value ;
                    OnPropertyChanged("CATEGORIE");
                }  
            }
     
           #region INotifyPropertyChanged Membres
     
            public event PropertyChangedEventHandler PropertyChanged;
            private void OnPropertyChanged (string propName )
            {
                if (PropertyChanged != null)
                {
                    PropertyChanged(this, new PropertyChangedEventArgs(propName));
                }
            }
            #endregion 
        }
     
    }
    code behind .cs du class d'acces à la BD:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.ComponentModel;
    using System.Collections.ObjectModel;
    using System.Data;
    using System.Data.SqlServerCe;
    namespace WpfListViewFilms
    {
        public class StoreFilms:INotifyPropertyChanged
        {
            string cnStr = GetConnectionString();
            public StoreFilms()
            {
                 GetFilms(cnStr);
            }
     
            private ObservableCollection<Film> films;
            public ObservableCollection<Film> Films
            {
                get 
                {
                    return films;
                }
                set
                {
                    films = value;
                    OnPropertyChanged("Films");
                } 
            }
            private void GetFilms(string connectionString)
            {
                Films = new ObservableCollection<Film>();
                try
                {
                    using (SqlCeConnection cnx = new SqlCeConnection(connectionString))
                    {
                        cnx.Open();
                        using (SqlCeCommand cmd = new SqlCeCommand("SELECT TITRE, CATEGORIE FROM Films", cnx))
                        {
                            SqlCeDataReader rd = cmd.ExecuteReader();
     
                            while (rd.Read())
                            {
     
                                Films.Add(new Film()
                                 {
                                     TITRE = rd.GetString(0),
                                     CATEGORIE = rd.GetString(1),
                                 }
                                );
     
                            }
     
                            rd.Close();
                        }
     
                        cnx.Close();
                    }
                }
                catch (Exception ex)
                {
     
                   Console.WriteLine(ex.Message);
                }
     
            }
     
            private static string GetConnectionString()
            {
                   return Properties.Settings.Default.FilmsCnString;
            }
            #region INotifyPropertyChanged Membres
     
            public event PropertyChangedEventHandler PropertyChanged;
            private void OnPropertyChanged (string propName )
            {
                if (PropertyChanged != null)
                {
                    PropertyChanged(this, new PropertyChangedEventArgs(propName));
                }
            }
            #endregion 
        }
    }
    code xaml du winform:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     
    <Window x:Class="WpfListViewFilms.WinStoreFilms"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:WpfListViewFilms"
            Title="WinStoreFilms" Height="350" Width="525"
            >
        <Window.Resources>
            <local:StoreFilms x:Key="MyData"></local:StoreFilms>
            <CollectionViewSource x:Key='src' 
                              Source="{Binding Source={StaticResource MyData}, 
                                       Path=Films}">
                <CollectionViewSource.GroupDescriptions>
                    <PropertyGroupDescription PropertyName="CATEGORIE" />
                </CollectionViewSource.GroupDescriptions>
            </CollectionViewSource>
     
        </Window.Resources>
        <StackPanel Orientation="Horizontal" > 
          <!--les props Name et ItemCount sont intrinseques au GroupStyle
            et n'ont rien à voir avec les props du class Film..!!!!
            -->  
            <ListView  
                Height="300"
                x:Name="listViewFilm" 
                BorderThickness="0"
                ItemsSource="{Binding Source={StaticResource src}}">
                <ListView.GroupStyle>
                    <GroupStyle>
                        <GroupStyle.ContainerStyle>
                            <Style TargetType="{x:Type GroupItem}">
                                <Setter Property="Margin" Value="0,0,0,5"/>
                                <Setter Property="Template">
                                    <Setter.Value>
                                        <ControlTemplate TargetType="{x:Type GroupItem}">
                                            <Expander 
                                                IsExpanded="True" BorderBrush="#FFA4B97F" 
                                                BorderThickness="0,0,0,1">
                                                <Expander.Header>
                                                    <DockPanel>
                                                        <TextBlock 
                                                            FontWeight="Bold" 
                                                            Text="{Binding Path=Name}" 
                                                            Margin="5,0,0,0" Width="100"/>
                                                        <TextBlock 
                                                            FontWeight="Bold" 
                                                            Text="{Binding Path=ItemCount}"/>
                                                    </DockPanel>
                                                </Expander.Header>
                                                <Expander.Content>
                                                    <ItemsPresenter />
                                                </Expander.Content>
                                            </Expander>
                                        </ControlTemplate>
                                    </Setter.Value>
                                </Setter>
                            </Style>
                        </GroupStyle.ContainerStyle>
                    </GroupStyle>
                </ListView.GroupStyle>
                <ListView.View>
                    <GridView>
                        <GridView.Columns>
                            <GridViewColumn 
                                Header="TITRE" Width="140"
                                DisplayMemberBinding="{Binding Path=TITRE}">
                            </GridViewColumn>
                            <GridViewColumn
                                Header="CATEGORIE" Width="140"
                                DisplayMemberBinding="{Binding Path=CATEGORIE}">
                            </GridViewColumn>
                        </GridView.Columns>
                    </GridView>
                </ListView.View>
            </ListView>
         </StackPanel>
    </Window>
    Pas de code behind pour le form....

    bon code...

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2013
    Messages : 26
    Par défaut
    En fait j'ai directement utiliser "projet/nouvelle source de données" ce qui m'a donné un dataset de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Class MainWindow 
     
        Dim BiblioDataSet As WpfApplication1.BiblioDataSet
        Dim BiblioDataSetFilmsTableAdapter As WpfApplication1.BiblioDataSetTableAdapters.FilmsTableAdapter
        Dim FilmsViewSource As System.Windows.Data.CollectionViewSource
     
        Private Sub Window_Loaded_1(sender As Object, e As RoutedEventArgs) Handles MyBase.Loaded
            BiblioDataSet = CType(Me.FindResource("BiblioDataSet"), WpfApplication1.BiblioDataSet)
            BiblioDataSetFilmsTableAdapter = New WpfApplication1.BiblioDataSetTableAdapters.FilmsTableAdapter()
            BiblioDataSetFilmsTableAdapter.Fill(BiblioDataSet.Films)
            FilmsViewSource = CType(Me.FindResource("FilmsViewSource"), System.Windows.Data.CollectionViewSource)
            FilmsViewSource.View.MoveCurrentToFirst()
    End Sub
    Et dans le xaml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:scm="clr-namespace:System.ComponentModel;assembly=WindowsBase" xmlns:local="clr-namespace:WpfApplication1" x:Class="MainWindow"
        Title="MainWindow" Height="350" Width="525" KeyDown="Window_KeyDown_1">
        <Window.Resources>
            <local:BiblioDataSet x:Key="BiblioDataSet"/>
            <CollectionViewSource x:Key="FilmsViewSource" Source="{Binding Films, Source={StaticResource BiblioDataSet}}">
                <CollectionViewSource.SortDescriptions>
                    <scm:SortDescription PropertyName="Titre"/>
                </CollectionViewSource.SortDescriptions>
            </CollectionViewSource>
        </Window.Resources>
        <Grid >
            <Canvas DataContext="{StaticResource FilmsViewSource}">
            <ListView x:Name="list" HorizontalAlignment="Left" Height="299" Margin="10,10,0,0" VerticalAlignment="Top" Width="134" DisplayMemberPath="Titre" ItemsSource="{Binding}" SelectedValuePath="Titre" SelectionMode="Single" HorizontalContentAlignment="Stretch">
            </ListView>
            </Canvas>
            <ComboBox DataContext="{Binding Films,Source={StaticResource BiblioDataSet}}" HorizontalAlignment="Left" Height="46" Margin="176,25,0,0" VerticalAlignment="Top" Width="318" DisplayMemberPath="Categorie" ItemsSource="{Binding}"/>
        </Grid>
    </Window>
    J'ai donc une listview avec mes titres triés par ordre alphabétique et un combobox avec les categories. Le fait est que je n'ai en réalité aucune classe en code je me sers juste du dataset.
    De ce que j'ai trouvé sur le net je pourrais ajouter Filter="mafonctiondefiltre" dans les balises CollectionViewSource et al coder de la manière suivante en code behind :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub mafonctiondefiltre(sender As Object, e As FilterEventArgs)
            Dim d As Object = CType(e.Item, Object)
            If Not (d Is Nothing) Then
               If d <> combox.selectedvalue Then
                    e.Accepted = True
                Else
                    e.Accepted = False
                End If
            End If
        End Sub
    ou tout du moins quelque chose de similaire. Cependant je en sais pas quoi mettre à la place d'Object où même si tout cela est correct. Je suis vraiment débutant en WPF...
    Merci d'avance pour le suivi.

    EDIT :

    J'ai trouvé un système qui à première vue semble fonctionner cependant j'attendrais quand même vos retours :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //event selectionchanged du combobox de choix de categorie
     
    Private Sub categorie_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles categorie.SelectionChanged
            list.ItemsSource = (BiblioDataSet.Films.Select("Categorie = '" & categorie.SelectedItem.Item("Categorie") & "'"))
        End Sub

  5. #5
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    re
    j'ai donne le code de grouping style,pour la simple raison que :
    1/ Primo
    La vue(prop View) d'un CollectionViewSource binde à un datatable n'accepte pas le filtrage...c'.à.d que si tu inseres en xaml comme ceci ton handler :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
      <CollectionViewSource x:Key="FilmsViewSource" 
                                  Source="{Binding Source={StaticResource BiblioDataSet1},Path=Films}"
                                  Filter="mafonctiondefiltre">
                <CollectionViewSource.SortDescriptions>
                    <scm:SortDescription PropertyName="TITRE"/>
                </CollectionViewSource.SortDescriptions>
            </CollectionViewSource>
    tu finiras sur une InnerException comme c'est-tui là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {"L'affichage 'System.Windows.Data.BindingListCollectionView' ne prend pas en charge le filtrage."}
    On peut pallier à ce probleme en filtrant sur le Combo_SelectionChanged...

    2/ Ton 2eme grand probleme c'est la comprehension du binding...
    Tu bindes ton ListView et ton Combo sur la meme vue(view) du CollectionViewSource....
    Si tu filtres avec un Combo sur SelectionChanged:
    -tu filtre ListView ...mais helas le combo aussi !!!! & apres tu ne peux pas revenir à une autre categorie dans le combo...
    Comment remedier à ce merdier suisse:
    -un 1er DataSet (et son CollectionViewSource) pour le ListView filtrable..
    -un 2eme DataSet (et son CollectionViewSource) pour le combo non filtrable....
    -de plus on ajoute à la vue binde à combo une row vide que tu n'as pas qui correspond à l'annulation du filtre...

    code xaml du form:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    <Window x:Class="Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:scm="clr-namespace:System.ComponentModel;assembly=WindowsBase" 
        xmlns:local="clr-namespace:WpfListViewFilmsVB"
        Title="Window1" Height="350" Width="525"
        Loaded="Window_Loaded">
        <Window.Resources>
            <local:BiblioDataSet x:Key="BiblioDataSet1"/>
            <CollectionViewSource x:Key="FilmsViewSource1" 
                                  Source="{Binding Source={StaticResource BiblioDataSet1},Path=Films}"
                                 >
                <CollectionViewSource.SortDescriptions>
                    <scm:SortDescription PropertyName="TITRE"/>
                </CollectionViewSource.SortDescriptions>
            </CollectionViewSource>
            <local:BiblioDataSet x:Key="BiblioDataSet2"/>
            <CollectionViewSource x:Key="FilmsViewSource2" 
                                  Source="{Binding Source={StaticResource BiblioDataSet2},Path=Films}">
                <CollectionViewSource.SortDescriptions>
                    <scm:SortDescription PropertyName="CATEGORIE"/>
                </CollectionViewSource.SortDescriptions>
            </CollectionViewSource>
        </Window.Resources>
        <Grid>
            <Canvas>
                <ListView 
                    x:Name="listView"
                    HorizontalAlignment="Left" Height="299"  Width="134" 
                    Margin="10,10,0,0" VerticalAlignment="Top"  HorizontalContentAlignment="Stretch"
                    DisplayMemberPath="TITRE"
                    ItemsSource="{Binding Source={StaticResource FilmsViewSource1}}" 
                    SelectedValuePath="TITRE" 
                    SelectionMode="Single"
                    >
                </ListView>
            </Canvas>
            <ComboBox 
                x:Name="Cbo"
                ItemsSource="{Binding Source={StaticResource FilmsViewSource2}}" 
                HorizontalAlignment="Left" Height="46"  Width="318" 
                Margin="176,25,0,0" VerticalAlignment="Top" 
                DisplayMemberPath="CATEGORIE" 
                SelectedValuePath="CATEGORIE"
                SelectionChanged="Cbo_SelectionChanged" />
     
        </Grid>
    </Window>
    code behind .vb du form:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    'mets ces imports ici au lieu de les taper à chaque fois
    Imports System.Data
    Imports System.Windows.Data
    Imports WpfListViewFilmsVB
    Public Class Window1
        Dim BiblioDataSet1 As BiblioDataSet
        Dim BiblioDataSetFilmsTableAdapter1 As BiblioDataSetTableAdapters.FilmsTableAdapter
        Dim FilmsViewSource1 As CollectionViewSource
     
        Dim BiblioDataSet2 As BiblioDataSet
        Dim BiblioDataSetFilmsTableAdapter2 As BiblioDataSetTableAdapters.FilmsTableAdapter
        Dim FilmsViewSource2 As CollectionViewSource
     
        Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
            BiblioDataSet1 = CType(Me.FindResource("BiblioDataSet1"), BiblioDataSet)
            BiblioDataSetFilmsTableAdapter1 = New BiblioDataSetTableAdapters.FilmsTableAdapter()
            BiblioDataSetFilmsTableAdapter1.Fill(BiblioDataSet1.Films)
            FilmsViewSource1 = CType(Me.FindResource("FilmsViewSource1"), CollectionViewSource)
            FilmsViewSource1.View.MoveCurrentToFirst()
     
            '& IDEM POUR CBO
            BiblioDataSet2 = CType(Me.FindResource("BiblioDataSet2"), BiblioDataSet)
            BiblioDataSetFilmsTableAdapter2 = New BiblioDataSetTableAdapters.FilmsTableAdapter()
            BiblioDataSetFilmsTableAdapter1.Fill(BiblioDataSet2.Films)
     
            '& RECUPERE SON DT ET AJOUTE UNE LIGNE VIDE
            Dim dt As DataTable = BiblioDataSet2.Films
            Dim row As DataRow = dt.NewRow
            dt.Rows.Add(row)
            BiblioDataSet2.Films.AcceptChanges()
     
     
            FilmsViewSource2 = CType(Me.FindResource("FilmsViewSource2"), CollectionViewSource)
            FilmsViewSource2.View.MoveCurrentToFirst()
     
     
     
        End Sub
     
        Private Sub Cbo_SelectionChanged(ByVal sender As System.Object, ByVal e As System.Windows.Controls.SelectionChangedEventArgs)
            Dim cbo As ComboBox = CType(sender, ComboBox)
     
            If cbo IsNot Nothing Then
                'UTILISE du MINI SQL
                Dim strValue As String = CType(cbo.SelectedValue, String)
                Dim dv As DataView = CType(FilmsViewSource1.View.SourceCollection, DataView)
                If String.IsNullOrEmpty(strValue) Then
                    'selectionne tout
                    dv.RowFilter = Nothing
                Else 'sinon filtre sur categorie
     
                    dv.RowFilter = "CATEGORIE ='" & cbo.SelectedValue.ToString & "'"
                End If
     
     
            End If
     
        End Sub
    Par ailleurs meme avec un ObservableCollection(ce pourquoi ,il a ete recommende par Don Quiche) qui accepte le filtrage ,2 Datasets et 2 CollectionViewSources sont toujours necessaires ainsi qu'un class Film wrapper pour le datatable....

    Tu as interet à ameliorer serieusement tes connaissances sur le binding en WPF et l'utilisation des observablecollections...regarde sur la faq dvp
    bon code....

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2013
    Messages : 26
    Par défaut
    Merci à tous pour votre aide j'ai réussi à faire ce que je voulais. Globalement j'ai utilisé la méthode que Mabrouki a proposé. Merci encore : problem solved !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. 1 Condition 2 champs de recherche
    Par Lolo_of_switzerland dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 20/06/2007, 13h47
  2. 3 lettres dans mon champ de recherche
    Par Didibzh dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 05/06/2007, 11h39
  3. Guillemets et champ de recherche
    Par zermatt dans le forum Access
    Réponses: 2
    Dernier message: 22/01/2007, 09h01
  4. Recherche sur un champ et recherche suivant
    Par DurDur dans le forum Access
    Réponses: 4
    Dernier message: 10/03/2006, 23h17
  5. champ de recherche
    Par k_boy dans le forum Bases de données
    Réponses: 1
    Dernier message: 23/03/2005, 08h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo