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

C# Discussion :

Filtre une liste plusieurs fois


Sujet :

C#

  1. #1
    Membre du Club
    Homme Profil pro
    Étudient ingénieur système d'information mobile
    Inscrit en
    Mars 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudient ingénieur système d'information mobile

    Informations forums :
    Inscription : Mars 2007
    Messages : 131
    Points : 58
    Points
    58
    Par défaut Filtre une liste plusieurs fois
    Bonjour
    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
          private IList<CompteurPersonneResult> Filt1()
          {
              List<Personne> li1 = new List<CompteurPersonneResult>();
              Personne p = listBoxPersonne.SelectedItem as Personne;
     
              foreach (Personne lll in li)
              {
                  if (p.id == lll.id_pers)
                  {
                      li1.Add(lll);
                  }
              }
              return li1;
          }
     
     
          private IList<CompteurPersonneResult> filt2()
          {
     
              List<Personne> li2 = Filt1().ToList();
     
              foreach (PersonneResult lll in li)
              {
                  if (lll.n_f=="pass.txt")
                  {
                      li2.Add(lll);
                  }
              }
              return li2;
    }
     
     
          private void selectionListboxpersonne(object sender, SelectionChangedEventArgs e)
          {
     
              listeCompteur.ItemsSource = Filt1();
     
           }
     
     
          private void Filtre22(object sender, RoutedEventArgs e)
          {
     
              listeCompteur.ItemsSource = filt2();
     
          }

    je filtre ma liste une premiere fois et je met le resultat dans une liste quand je filtre une 2em fois j'ai les resultat du 2em filtre qui s'ajoute au premiere

    Merci de m'aider

  2. #2
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    Ouais, mais à la vue de ton code c'est logique.

    Tu veux avoir quoi ? Un filtre qui remplace le précédent ? Soit tu réinitialises ta liste entre temps, soit tu procèdes différemment.

    Tu fais ça pour une application Web ?

  3. #3
    Membre du Club
    Homme Profil pro
    Étudient ingénieur système d'information mobile
    Inscrit en
    Mars 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudient ingénieur système d'information mobile

    Informations forums :
    Inscription : Mars 2007
    Messages : 131
    Points : 58
    Points
    58
    Par défaut
    je fais une application bureautique pour la gestion des fichiers
    dans mon application j'ai différent filtre par type extention personne
    et un datagrid je veut filtre après extension et après re-filtre les extension par type.

  4. #4
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    Et comme ça ça donne ce que tu veux ?

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    private IList<CompteurPersonneResult> filt2()
          {
     
              List<Personne> li2 = Filt1().ToList();
     
              foreach (PersonneResult lll in li2)
              {
                  if (lll.n_f!="pass.txt")
                  {
                      li2.Remove(lll);
                  }
              }
              return li2;
    }

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Points : 27
    Points
    27
    Par défaut
    Une alternative, mais je ne sais pas si cela peut te convenir, c'est d'utiliser les expression lambda avec Linq(#Using System.linq, et .Net 4.0):


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Personne pers = listBoxPersonne.SelectedItem as Personne;
     
    List<Personne> li2 = li.Where(q => q.id_pers == pers .id && q.n_f == "pass.txt").ToList();

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/11/2008, 17h30
  2. Empêcher le show d'une windowform plusieur fois
    Par tsdia2 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/05/2008, 12h40
  3. Appeler une fonction plusieurs fois
    Par philippef dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/10/2007, 22h54
  4. Réponses: 3
    Dernier message: 08/10/2005, 00h02
  5. [Servlet] Comment utilisé une servlet plusieurs fois ?
    Par gandalf_le_blanc dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 03/06/2004, 14h49

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