none
treeview y numeracion de sus treeviewitems RRS feed

  • Pregunta

  • hola

    quisiera saber como puedo mostrar la numeracion que tienen los items de un treeview.

    es claro que sus items tienen numeracion, con los cuales trabaja para eliminar, adicionar, subir y bajar entre otros, lo que yo quiero es mostrar esta numeracion en el arbol, de tal manera que se vea de forma logica (1, 1.1, 1.1.1, 1.1.1.1, ........ 2, 2.1, 2.2, .......).

    mostrarla de tal manera que los numero sean logicos cuando yo quiera añadir un elemento en una ubicacion y continue con la numeracion, al eliminar un item del medio los demas queden con la numeracion indicada, al subir o bajar.

    muchas gracias

    domingo, 18 de abril de 2010 17:54

Respuestas

  • ¡Buenas tardes!

    Una solución podría ser que si se almacena esa numeración lógica lo que puedes es ir concatenándola a tu text del header. La buscas cada vez que hagas una operación y la concatenas.

    • Marcado como respuesta ccmmasi sábado, 24 de abril de 2010 1:51
    martes, 20 de abril de 2010 13:13
  • uy....

    no se imaginan como hice... en efecto me toco manejarlo a mi.... lo he hecho para adicionar y editar, ahora solo voy a colocar el codigo para adicionar, estoy trabajando en bajar y subir elementos, y tambien en eliminar....

    les muestro entonces el de adicionar:

    TreeViewItem elementoseleccionado = (TreeViewItem)TreeViewUbicacion.SelectedItem;
    
            int cantidadhijos = elementoseleccionado.Items.Count;
    
            TreeViewItem item = new TreeViewItem();
            item.Tag = elementoseleccionado.Tag + "." + (cantidadhijos + 1);
    
            item.Header = " " + item.Tag.ToString() + " " + txtNombreTareaNueva.Text;
    
            elementoseleccionado.Items.Add(item);
            elementoseleccionado.IsExpanded = true;
            //ActualizarArbolFase(elementoseleccionado);
          }
        }
    

    en el tag estoy guardando la numeracion, al primer padre le coloco uno, a los demas como se añade en orden, le coloco el tag del padre, que es al que le quiero añadir el hijo, y le sumo la cantidad de hijos que tiene mas 1....

    como veran en este caso no es tan dificil, es dificil el de eliminar, subir y bajar elementos, porque hay que saber la numeracion que tienen los hermanos y si estos tienen hijos, cambiarles la numeracion a todos esto,,,, ufff..

    muchas gracias y estamos al tanto de las siguientes

    saludos

    • Marcado como respuesta ccmmasi sábado, 24 de abril de 2010 1:51
    sábado, 24 de abril de 2010 1:48

Todas las respuestas

  • ¡Buenas tardes!

    Una solución podría ser que si se almacena esa numeración lógica lo que puedes es ir concatenándola a tu text del header. La buscas cada vez que hagas una operación y la concatenas.

    • Marcado como respuesta ccmmasi sábado, 24 de abril de 2010 1:51
    martes, 20 de abril de 2010 13:13
  • y no se podra utilizar la misma numeracion que tiene el treeview para añadir items¿?,

    sabiendo que el debe saber en donde añadir items con selecteditem, el debe tener una numeracion por ahi escondida. 

    porque es que me tocaria jugar con la numeracion que me dices, pues voy a añadir, eliminar, editar, subir y bajar elementos, entonces se hace un poco mas complicado manejarlo yo.,..,

    sin embargo voy a intentar, muchas gracias

    martes, 20 de abril de 2010 23:54
  • Lo siento, se me escapa cómo obtener esa enumeración.

    Si estas trabajando en Silverlight lo que si te recomendaría es que el TreeviewItem estuviera compuesto por dos texblock creados en un style. Para que no tengas que andar concatenando la enumeración con el texto. Por un lado tendrías la enumeración y por el otro el texto.

    miércoles, 21 de abril de 2010 9:45
  • uy....

    no se imaginan como hice... en efecto me toco manejarlo a mi.... lo he hecho para adicionar y editar, ahora solo voy a colocar el codigo para adicionar, estoy trabajando en bajar y subir elementos, y tambien en eliminar....

    les muestro entonces el de adicionar:

    TreeViewItem elementoseleccionado = (TreeViewItem)TreeViewUbicacion.SelectedItem;
    
            int cantidadhijos = elementoseleccionado.Items.Count;
    
            TreeViewItem item = new TreeViewItem();
            item.Tag = elementoseleccionado.Tag + "." + (cantidadhijos + 1);
    
            item.Header = " " + item.Tag.ToString() + " " + txtNombreTareaNueva.Text;
    
            elementoseleccionado.Items.Add(item);
            elementoseleccionado.IsExpanded = true;
            //ActualizarArbolFase(elementoseleccionado);
          }
        }
    

    en el tag estoy guardando la numeracion, al primer padre le coloco uno, a los demas como se añade en orden, le coloco el tag del padre, que es al que le quiero añadir el hijo, y le sumo la cantidad de hijos que tiene mas 1....

    como veran en este caso no es tan dificil, es dificil el de eliminar, subir y bajar elementos, porque hay que saber la numeracion que tienen los hermanos y si estos tienen hijos, cambiarles la numeracion a todos esto,,,, ufff..

    muchas gracias y estamos al tanto de las siguientes

    saludos

    • Marcado como respuesta ccmmasi sábado, 24 de abril de 2010 1:51
    sábado, 24 de abril de 2010 1:48