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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Buscar y contar numeros repetidos en distintos ListView
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Buscar y contar numeros repetidos en distintos ListView  (Leído 8,136 veces)
dont'Exist

Desconectado Desconectado

Mensajes: 97


Ver Perfil
Buscar y contar numeros repetidos en distintos ListView
« en: 8 Agosto 2019, 21:46 pm »

Buenas tardes, estoy atascado.

Estoy tratando de hacer un programa que me muestre, en un ListView, todos los numeros que aparezcan en otros 3 ListView donde tengo numero repartidos 3 ListView distintos (los 3 con 6 filas)

Lo graficaré un poco:


Código:
      ListView1                                    ListView2                                      ListView3
  Posicion / Numero                               Posicion / Numero                              Posicion / Numero
     1            3                                1            2                                  1            3
     2            7                                2            6                                  2            2
     3            7                                3            6                                  3            9
     4            2                                4            3                                  4            9
     5            6                                5            2                                  5            7
     6            7                                6            6                                  6            7


       ListView4
Numero  /  Cantidad
     2            4
     3            3
     6            4
     7            5
     9            2

Bueno, algo así. En donde en el ListView4 es donde estará los numero que aparecen y la cantidad.

Yo intenté anidando varios FOR pero la verdad es que me hice un lío.

Espero que me puedan entender el ejemplo y si me pueden orientar, les agradecería.
Saludos


« Última modificación: 8 Agosto 2019, 21:48 pm por dont'Exist » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Buscar y contar numeros repetidos en distintos ListView
« Respuesta #1 en: 9 Agosto 2019, 12:35 pm »

Puedes utilizar LINQ de la siguiente manera para simplificar el uso de varios búcles/For. De todas formas, todo resultaría más dinámico si en lugar de un ListView adaptases tu código para utilizar un DataGridView enlazando datos de origen en la propiedad DataGridView.DataSource.



Código
  1. Public Class Form1
  2.  
  3.    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  4.  
  5.        Dim columnIndex As Integer = 0
  6.  
  7.        ' Unión entre las colecciones de elementos de ListView1, ListView2 y ListView3.
  8.        Dim items As ListViewItem() =
  9.            ({Me.ListView1.Items.Cast(Of ListViewItem),
  10.              Me.ListView2.Items.Cast(Of ListViewItem),
  11.              Me.ListView3.Items.Cast(Of ListViewItem)
  12.             }.SelectMany(Function(sequence) sequence)
  13.            ).ToArray()
  14.  
  15.        ' Agrupación de los elementos mediante pares de clave-valor (clave=texto del elemento, valor=cantidad de repeticiones).
  16.        Dim groups As KeyValuePair(Of String, Integer)() =
  17.            (From item As ListViewItem In items
  18.             Let key As String = item.SubItems(columnIndex).Text
  19.             Order By key Ascending
  20.             Group By key Into keys = Group
  21.             Select New KeyValuePair(Of String, Integer)(key, keys.Count())
  22.            ).ToArray()
  23.  
  24.        ' Creación de nuevos elementos para añadir en el ListView4.
  25.        Dim newItems As ListViewItem() =
  26.            (From group As KeyValuePair(Of String, Integer) In groups
  27.             Select New ListViewItem({group.Key, CStr(group.Value)})
  28.            ).ToArray()
  29.  
  30.        ' Adición de los nuevos elementos al ListView4.
  31.        With Me.ListView4
  32.            .BeginUpdate()
  33.  
  34.            .Items.Clear()
  35.            .Items.AddRange(newItems)
  36.  
  37.            .EndUpdate()
  38.        End With
  39.  
  40.    End Sub
  41.  
  42. End Class

Nótese que en la linea nº 21 del código de arriba, si lo prefieres puedes cambiar el tipo de retorno para devolver un array del tipo ListViewItem directamente.

Saludos.


« Última modificación: 9 Agosto 2019, 12:48 pm por Eleкtro » En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Numeros aleatorios no repetidos
.NET (C#, VB.NET, ASP)
sexto 4 6,544 Último mensaje 3 Noviembre 2009, 20:15 pm
por MANULOMM
Contar valores repetidos en una columna
Bases de Datos
A2Corp 7 8,365 Último mensaje 12 Abril 2012, 17:19 pm
por HdM
Leer una columna de un .XLS y contar los repetidos VBScript
Scripting
guillehampp 1 7,529 Último mensaje 9 Febrero 2015, 22:03 pm
por guillehampp
matriz sin numeros repetidos
Programación C/C++
DRinoa 1 8,455 Último mensaje 6 Febrero 2017, 18:01 pm
por dato000
Contar números repetidos en un archivo txt
Programación Visual Basic
Nells E. 4 3,989 Último mensaje 6 Febrero 2018, 00:12 am
por Nells E.
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines