elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  vb.net - Items Duplicados y no duplicados de Un Listview
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: vb.net - Items Duplicados y no duplicados de Un Listview  (Leído 3,606 veces)
OscarCadenas_91

Desconectado Desconectado

Mensajes: 27


Ver Perfil
vb.net - Items Duplicados y no duplicados de Un Listview
« en: 12 Febrero 2015, 02:12 am »


Buenas a todos, tengo una duda haber si alguien me puede ayudar, tengo un Listview1, con los siguientes Items:
Código:
Proyecto1.docx
Presentacion_1.pptx
Informe2.docx
Proyecto1.docx
Informe3.docx
Presentacion_2.docx
Informe1.docx
Presentacion_2.docx


Lo que quiero hacer es  separar los Items duplicados  y los no duplicados:

No Duplicados:

Código:
Presentacion_1.pptx
Informe2.docx
Informe3.docx
Informe1.docx

Duplicados:

Código:
Proyecto1.docx
Presentacion_2.docx

Para listar los duplicados hice lo siguiente:
Código
  1.   Dim NuevaLista As New List(Of String)
  2.        Total = ListView1.Items.Count - 1
  3.        For i = 0 To Total
  4.            For j = i + 1 To Total
  5.  
  6.                If ListView1.Items.Item(i).Text = ListView1.Items.Item(j).Text Then
  7.                    NuevaLista.Add(ListView1.Items.Item(i).Text)
  8.                End If
  9.  
  10.            Next
  11.  
  12.        Next
      
      

Ahora necesito alguna idea para obtener para los no Duplicados, alguien me daria alguna idea?











En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.818



Ver Perfil
Re: vb.net - Items Duplicados y no duplicados de Un Listview
« Respuesta #1 en: 12 Febrero 2015, 06:30 am »

Puedes utilizar LINQ para llevarlo a cabo:

Código
  1. Public Class TestForm
  2.  
  3.    ReadOnly items As IEnumerable(Of String) =
  4.        {
  5.            "Informe1.docx",
  6.            "Informe2.docx",
  7.            "Informe3.docx",
  8.            "Presentacion_1.pptx",
  9.            "Presentacion_2.docx",
  10.            "Presentacion_2.docx",
  11.            "Proyecto1.docx",
  12.            "Proyecto1.docx"
  13.        }
  14.  
  15.    Private allDups As IEnumerable(Of String) =
  16.        items.GroupBy(Function(str As String) str).
  17.              Where(Function(group As IGrouping(Of String, String)) group.Count > 1).
  18.              SelectMany(Function(group As IGrouping(Of String, String)) group)
  19.  
  20.    Private uniqueDups As IEnumerable(Of String) =
  21.        items.GroupBy(Function(str As String) str).
  22.              Where(Function(group As IGrouping(Of String, String)) group.Count > 1).
  23.              Select(Function(group As IGrouping(Of String, String)) group.Key)
  24.  
  25.    Private nonDups As IEnumerable(Of String) =
  26.        items.Distinct
  27.  
  28.    Private unique As IEnumerable(Of String) =
  29.        items.Except(uniqueDups)
  30.  
  31.    Private Sub Test() Handles MyBase.Shown
  32.  
  33.        With Me.ListBox1
  34.            .Sorted = True
  35.            .BeginUpdate()
  36.            .Items.AddRange(items.ToArray) ' Todos.
  37.            ' .Items.AddRange(nonDups.ToArray) ' Sin Duplicados.
  38.            ' .Items.AddRange(unique.ToArray) ' Únicos.
  39.            ' .Items.AddRange(allDups.ToArray) ' Duplicados.
  40.            ' .Items.AddRange(uniqueDups.ToArray) ' Duplicados Únicos.
  41.            .EndUpdate()
  42.        End With
  43.  
  44.    End Sub
  45.  
  46. End Class


Output


Todos:
Código:
Informe1.docx
Informe2.docx
Informe3.docx
Presentacion_1.pptx
Presentacion_2.docx
Presentacion_2.docx
Proyecto1.docx
Proyecto1.docx

Sin Duplicados:
Código:
Informe1.docx
Informe2.docx
Informe3.docx
Presentacion_1.pptx
Presentacion_2.docx
Proyecto1.docx

Únicos:
Código:
Informe1.docx
Informe2.docx
Informe3.docx
Presentacion_1.pptx

Duplicados:
Código:
Presentacion_2.docx
Presentacion_2.docx
Proyecto1.docx
Proyecto1.docx

Duplicados Únicos:
Código:
Presentacion_2.docx
Proyecto1.docx


Saludos!


« Última modificación: 12 Febrero 2015, 06:35 am por Eleкtro » En línea

OscarCadenas_91

Desconectado Desconectado

Mensajes: 27


Ver Perfil
Re: vb.net - Items Duplicados y no duplicados de Un Listview
« Respuesta #2 en: 12 Febrero 2015, 13:55 pm »

Muchas Gracias Elektro me ha funcionado correctamente.


Gracias por todo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con Listview (evitar duplicados en lista de facturación) plis!!!
Programación Visual Basic
GhostLT 3 6,985 Último mensaje 29 Septiembre 2009, 05:40 am
por GhostLT
Tres monitores, 2 duplicados
Hardware
raul338 2 2,778 Último mensaje 3 Noviembre 2012, 17:49 pm
por raul338
Evitar temas duplicados
Sugerencias y dudas sobre el Foro
Usuario Invitado 7 4,542 Último mensaje 9 Abril 2015, 02:44 am
por El_Andaluz
Eliminar duplicados o repetidos « 1 2 »
.NET (C#, VB.NET, ASP)
luis456 15 11,379 Último mensaje 1 Mayo 2015, 19:36 pm
por luis456
Evitar datos duplicados en listview
.NET (C#, VB.NET, ASP)
nolasco281 9 10,629 Último mensaje 10 Mayo 2015, 15:42 pm
por DarK_FirefoX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines