[ad_1]
Hola chicos
Aquí tenemos listORG con 3 campos:
Idx , Estudio , Nombre
———————————-
1 Estudio 1 Juan
2 Estudio 2 Juan
3 Estudio 3 Juan
4 Estudio 4 Juan
5 Estudio5 Feliz
6 Estudio6 Feliz
7 Estudio7 Juan
8 Estudio 8 Juan
9 Estudio9 Feliz
Aquí tenemos una lista de cuántos:
Idx, nombre, cuántos estudios
———————————————-
1 Juan 6
2 feliz 2
Entonces, si ve, la segunda lista muestra cuántos estudios hay para las personas John y Merry.
Entonces quiero programar esto mediante Observable Collection. Como quiero cualquier actualización sobre cualquiera de estas listas, actualiza la otra. Como agregar nuevo, eliminar o editar.
¿Podrías ayudarme con esto?
Lo que he probado:
De hecho, probé algunos códigos de Internet, pero no tuve suerte.
Solución 1
Aquí hay problemas con lo que quieres hacer: no puedes usar una sola ObservableCollection para dos listas diferentes, y si bien puedes colocar todos los elementos de ambas en una ObservableCollection de tipo débil y emitirlos apropiadamente cuando accedas a ella, no es así. lo mismo que tener colecciones separadas y haría que su código fuera mucho más complicado y difícil de leer/mantener.
Podría usar dos ObservableCollections, y eso funcionaría razonablemente bien, pero incluso entonces, eso solo genera un evento cuando la colección se cambia mediante una operación Agregar, Eliminar o reordenar. No obtendrá un evento cuando se cambien los miembros de un elemento de la colección: myObservableCollection(0).Name = "New name"
no generará un evento.
Solución 2
Usarías un CollectionViewSource
y utilizar la agrupación. Supongo que estás usando WPF
. Aquí hay una muestra: Cómo: ordenar y agrupar datos usando una vista en XAML – WPF .NET Framework | Microsoft aprende[^].
Aquí hay algunas cosas más que puedes hacer con el CollectionViewSource
: ColecciónViewSource | 2000 cosas que debes saber sobre WPF[^]
Aquí hay un ejemplo que usa solo código: Agrupación basada en dos o más propiedades[^]
[ad_2]
コメント