 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
el diego Master


Registrado: 23 Ago 2002Mensajes: 232Ubicación: Paris
|
Publicado: Lun 12 Jul, 2004 2:16 pm Asunto: [Solucionado] Ordenar un TreeView a partir de un subnodo |
|
|
Hola!
Estoy intentando ordenar un TreeView a partir de un subnodo. Es decir, no quiero ordenar todo el treeview sino los subnodos de un nodo determinado.
Alguna idea?
saludos
diego
Ultima edición por el diego el Mar 20 Jul, 2004 10:44 am, editado 1 vez |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Lun 12 Jul, 2004 9:43 pm Asunto: |
|
|
Hola Diego:
Se me ocurren varias maneras de hacerlo, una de ellas es poner alguna marca a cada elemento/nodo ordenable. Por ejemplo si no necesitamos la propiedad StateIndex podríamos usar esta para marcar con un valor de 1 los elementos que queremos que se ordenen. En caso de tener imágenes de estado podríamos poner la marca usando "Data" o cualquiera de los otros índices de imagen...
Un pequeño ejemplo:
- Ponemos el siguiente código en el evento OnCompare del TreeView:
(esto comprobara si el nodo tiene una marca o no para ordenarlo)
| Código: | Compare = (Node1->StateIndex==1 && Node2->StateIndex==1)
? CompareText(Node1->Text, Node2->Text) : 0; |
- Ahora rellenamos el TreeView:
| Código: | // Creamos un nodo y varios subnodos que no se ordenaran
TTreeNode* nodo1 = TreeView1->Items->Add(0, "Nodo1");
TreeView1->Items->AddChild(nodo1, "Bbbb");
TreeView1->Items->AddChild(nodo1, "Cccc");
TreeView1->Items->AddChild(nodo1, "Aaaa");
// Ahora creamos un nodo y marcamos los subnodos para que se ordenen
TTreeNode* nodo2 = TreeView1->Items->Add(0, "Nodo2");
TreeView1->Items->AddChild(nodo2, "Bbbb")->StateIndex = 1;
TreeView1->Items->AddChild(nodo2, "Cccc")->StateIndex = 1;
TreeView1->Items->AddChild(nodo2, "Aaaa")->StateIndex = 1;
TreeView1->AlphaSort(); |
El resultado de esto es que solo se ordenaran los subnodos de "Nodo2" que son los únicos que están marcados.
Espero que me hayas entendido bien. Saludos. |
|
| Volver arriba |
|
 |
el diego Master


Registrado: 23 Ago 2002Mensajes: 232Ubicación: Paris
|
Publicado: Mar 20 Jul, 2004 10:44 am Asunto: |
|
|
Hola Leo! Disculpa la demora, me tomé unos dias.
Funciono a la perfeccion!
Gracias nuevamente!
saludos
diego |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|