none
Eliminar varios Items RRS feed

  • Pregunta

  • Hola.

    Trato de eliminar todas las lineas de un listbox que no contienen ciertas palabras.

    He intentado con lo siguente, pero no funciona o se elimina todo...

            Dim stgs As String() = {"uno", "dos", "tres", "cuatro", "cinco"}
            For i As Integer = ListBox1.Items.Count - 1 To 0 Step -1
                For Each itms As String In stgs
                    If Not ListBox1.Items(i).ToString.Contains(itms) Then
                        ListBox1.Items.RemoveAt(i)
                        Exit For
                    End If
                Next
            Next

    Gracias por su ayuda.


    miércoles, 25 de noviembre de 2015 19:33

Respuestas

  • Tal como tienes el código haces la eliminación si no contiene alguno de los valores y ademas solo borras el primero y sales. Prueba así:

    Dim stgs As String() = {"uno", "dos", "tres", "cuatro", "cinco"}
    For i As Integer = ListBox1.Items.Count - 1 To 0 Step -1
        Dim Eliminar As Boolean
        Eliminar = True
        For Each itms As String In stgs
            If ListBox1.Items(i).ToString.Contains(itms) Then
                Eliminar = False
            End If
        Next
        If Eliminar Then
            ListBox1.Items.RemoveAt(i)
        End If
    Next


    Saludos, Javier J

    • Marcado como respuesta RafaelFM miércoles, 25 de noviembre de 2015 23:24
    miércoles, 25 de noviembre de 2015 22:33

Todas las respuestas

  • Tal como tienes el código haces la eliminación si no contiene alguno de los valores y ademas solo borras el primero y sales. Prueba así:

    Dim stgs As String() = {"uno", "dos", "tres", "cuatro", "cinco"}
    For i As Integer = ListBox1.Items.Count - 1 To 0 Step -1
        Dim Eliminar As Boolean
        Eliminar = True
        For Each itms As String In stgs
            If ListBox1.Items(i).ToString.Contains(itms) Then
                Eliminar = False
            End If
        Next
        If Eliminar Then
            ListBox1.Items.RemoveAt(i)
        End If
    Next


    Saludos, Javier J

    • Marcado como respuesta RafaelFM miércoles, 25 de noviembre de 2015 23:24
    miércoles, 25 de noviembre de 2015 22:33
  • miércoles, 25 de noviembre de 2015 23:30