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

VB.NET Discussion :

Exclure des éléments d'une liste lors de l'affichage de celle-ci dans un ListView.


Sujet :

VB.NET

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 267
    Points : 0
    Points
    0
    Par défaut Exclure des éléments d'une liste lors de l'affichage de celle-ci dans un ListView.
    bonjour, j'ai modifier mon logiciel , il fonctionne. je voudrais pas afficher dans ma ListView1 : ICON0.PNG, PARAM.PFD, PARAM.SFO, PIC1.PNG quand j'ouvre le dossier. comment l’écrire avec mes codes.merci

    mon code de lecture:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim dialog As New FolderBrowserDialog
            If (dialog.ShowDialog = DialogResult.OK) Then
                Me.ListView1.Items.Clear()
                Me.folder = dialog.SelectedPath.Replace("\", "/")
                Dim files As String() = Directory.GetFiles(dialog.SelectedPath)
                Dim str2 As String
                For Each str2 In files
                    Dim item As New ListViewItem(Path.GetFileName(str2)) With { _
                        .Tag = str2 _
                    }
                    Me.ListView1.Items.Add(item)
                Next
            End If
    voici en image:
    Images attachées Images attachées  

  2. #2
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
            Dim dialog As New FolderBrowserDialog
            If (dialog.ShowDialog = DialogResult.OK) Then
                Me.ListView1.Items.Clear()
                Me.folder = dialog.SelectedPath.Replace("\", "/")
                Dim files As String() = Directory.GetFiles(dialog.SelectedPath)
                For Each str2 As string In files
                    Dim fi as string = Path.GetFileName(str2)
                    If PopulateThis(fi) Then
                        Dim item As New ListViewItem(fi) With {.Tag = str2}
                        Me.ListView1.Items.Add(item)
                    End If
                Next
            End If

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    ' ###############
    Dim hideFiles as string() = new string(){"ICON0.PNG", "PARAM.PFD", "PARAM.SFO", "PIC1.PNG"}
     
    Private Function populateThis (Byval Name As string) as boolean
          For each f in hideFiles 
              if name = f Then 
                  return false
              End If
          Next
          Return True
    End Function

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour wallace1

    Pour compléter ta proposition, la fonction populateThis pourrait aussi s'écrire ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        ' ###############
        Dim hideFiles As String() = New String() {"ICON0.PNG", "PARAM.PFD", "PARAM.SFO", "PIC1.PNG"}
     
        Private Function PopulateThis(ByVal Name As String) As Boolean
            Return Not hideFiles.Contains(Name) ' renvoie faux si présent dans la liste, sinon vrai
        End Function
    Voire même (mais là c'est vraiment compact et peut-être moins lisible)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Private Function PopulateThis(ByVal Name As String) As Boolean
            Return Not (New String() {"ICON0.PNG", "PARAM.PFD", "PARAM.SFO", "PIC1.PNG"}).Contains(Name) ' renvoie faux si présent dans la liste, sinon vrai
        End Function

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 267
    Points : 0
    Points
    0
    Par défaut
    merci wallace1, ça fonctionne. une dernier question: comment j'affiche la taille du fichier . ex : 1.44 pas avec 1.44 ko.
    voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim dialog As New FolderBrowserDialog
            If (dialog.ShowDialog = DialogResult.OK) Then
                Me.ListView1.Items.Clear()
                Me.folder = dialog.SelectedPath.Replace("\", "/")
                Dim files As String() = Directory.GetFiles(dialog.SelectedPath)
                For Each str2 As string In files
                    Dim fi as string = Path.GetFileName(str2)
                    If PopulateThis(fi) Then
                        Dim item As New ListViewItem(fi) With {.Tag = str2}
                        Me.ListView1.Items.Add(item)
                    End If
                Next
            End If
    voici en image:
    Images attachées Images attachées  

  5. #5
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Merci rv26t pour cette info.
    Je vote quand je trouve utile alors :

    @Hacker59 : tu peux utiliser la fonction que propose rv26t qui est bien plus compacte je trouve. Sinon voilà la réponse à ta question :

    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
     
    Dim dialog As New FolderBrowserDialog
            If (dialog.ShowDialog = DialogResult.OK) Then
                Me.ListView1.Items.Clear()
                Me.folder = dialog.SelectedPath.Replace("\", "/")
                Dim files As String() = Directory.GetFiles(dialog.SelectedPath)
                For Each str2 As string In files
                    Dim fi as string = Path.GetFileName(str2)
                    If PopulateThis(fi) Then
                        Dim items As String() = New String(2) {}
                        items(0) = fi
                        items(1) = BytestoString(new fileInfo(str2).length)
                        Dim item As New ListViewItem(items)
                        item.tag = str2
                        item.ToolTipText = items(str2)
                        Me.ListView1.Items.Add(item)
                    End If
                Next
            End If

    La fonction de formatage de taille de fichier "BytestoString" qui retourne un type String :

    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
     
        Private Function BytestoString(ByVal Size As Long) As String
            Dim txt As String = Nothing
            Try
                Dim i As Integer = 1024
                Dim i1 As Integer = i * i
                Dim bl As Boolean = Size < CType(i, Long)
                If bl Then
                    If Size <= 1 Then
                        Return String.Concat(Size.ToString("D"), " octet")
                    Else
                        Return String.Concat(Size.ToString("D"), " octets")
                    End If
                Else
                    Dim dbl As Double = CType(Size, Double) / CType(i, Double)
                    bl = dbl < 1000
                    If bl Then
                        Dim dbl1 As Double = CType(Size, Double) / CType(i, Double)
                        Return String.Concat(dbl1.ToString("N"), "Ko")
                    Else
                        bl = dbl < 1000000
                        If bl Then
                            Dim dbl1 = CType(Size, Double) / CType(i1, Double)
                            Return String.Concat(dbl1.ToString("N"), "Mo")
                        Else
                            bl = dbl < 30000000
                            If bl Then
                                Dim dbl1 = (CType(Size, Double) / CType(i1, Double)) / CType(i, Double)
                                Return String.Concat(dbl1.ToString("N"), "Go")
                            End If
                        End If
                    End If
                End If
            Catch exception1 As Exception
                txt = Size.ToString
                Interaction.MsgBox(exception1.Message, MsgBoxStyle.Information)
                Return txt
            End Try
            Return txt
        End Function

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 267
    Points : 0
    Points
    0
    Par défaut
    merci de ta réponse wallace1. est-il possible juste afficher seulement en octet.
    144 KO = 147 456 octet.

  7. #7
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par hacker59 Voir le message
    merci de ta réponse wallace1. est-il possible juste afficher seulement en octet.
    144 KO = 147 456 octet.
    Pas de quoi Hacker59...

    je veux bien t'aider pour que tu puisses avancer mais là ...ça ressemble davantage à du code à la demande.... donc je pense qu'avec les éléments que tu possèdes depuis le début du sujet qu'il te sera assez facile de trouver une réponse à cette dernière question.

    ...et pour répondre à ta question : oui il est possible de le faire.

    Bon codage.

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

Discussions similaires

  1. affichage des éléments d'une liste horizontalement
    Par progamer54 dans le forum JSF
    Réponses: 7
    Dernier message: 16/04/2007, 10h34
  2. [Firefox] Pixel au-dessus des éléments d'une liste
    Par Marco85 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 21/11/2006, 09h22
  3. Supprimer des éléments d'une liste
    Par espadon1 dans le forum Langage
    Réponses: 2
    Dernier message: 31/05/2006, 15h08
  4. Eviter l'affichage des éléments d'une liste déroulante
    Par auriolbeach dans le forum Access
    Réponses: 1
    Dernier message: 28/02/2006, 07h50
  5. [CSS]Changer l'interligne des éléments d'une liste à puces
    Par khany dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 21/03/2005, 13h57

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