Es posible mostrar un objeto varias veces en un VirtualStringTree?

Me doy cuenta de que realmente necesito reescribir la estructura de datos de mis programas (no ahora, pero pronto, ya que la fecha límite es el lunes), ya que actualmente estoy usando VST (VirtualStringTree) para almacenar mis datos.

Lo que me gustaría lograr es una estructura de Lista de contactos. Los Rootnodes son las Categorías, y los hijos son los Contactos. Hay un total de 2 niveles.

El problema es que necesito un contacto para mostrar en más de 1 categoría, pero deben estar sincronizados. Particularmente el Checkstate.

Actualmente, para mantener la sincronización, recorro todo mi árbol para encontrar nodos que tengan la misma ID que el que acaba de cambiar. Pero hacerlo es muy lento cuando hay una gran cantidad de nodos.

Entonces, pensé: ¿sería posible mostrar una instancia del objeto de contacto, en múltiplesCategorías?

Nota: Sinceramente, no estoy 100% familiarizado con la terminología; lo que quiero decir con Instancia es un Objeto (o Registro), por lo que no tendré que mirar a través de todo mi árbol para encontrar Objetos de contacto con la misma ID.

Aquí hay un ejemplo

Como puede ver, Todd Hirsch aparece en la Categoría de prueba y en Todos los contactos. Pero detrás de escena, esos son 2 PVirtualNodes, entonces cuando cambio una propiedad en uno de los nodos (Like CheckState), o algo en el Registro / Clase de Datos del nodo, los 2 nodos no están sincronizados. Y actualmente, la única forma en que puedo sincronizarlos es recorrer mi árbol, encontrar todos los nodos que albergan ese mismo contacto y aplicar los cambios a ellos y a sus datos.

ara resumir: lo que estoy buscando es una forma de usar un objeto / registro y mostrarlo en varias categorías en mi árbol, y cada vez que se verifica un nodo, también lo hará cualquier otro nodo que albergue el mismo objeto de contacto.

¿Tengo algún sentido aquí?

Respuestas a la pregunta(1)

Su respuesta a la pregunta