Bienvenido a Tecnohackers

Tecnohackers » General del foro » Area de Programacion » Programacion a Alto Nivel. Visual Basic, Java, delphi, etc. (Moderadores: jarexalf, Doddy)
 » 

Duda con un listview y treeview



Autor Tema: Duda con un listview y treeview  (Leído 206 veces)

Desconectado llAudioslavell

  • Recien Llegado
  • *
  • Mensajes: 1
Duda con un listview y treeview
« en: Septiembre 20, 2011, 06:10:24 pm »
Hola a todos ^^ bueno soy nuevo en este foro me parecio muy interesante y espero llevarme bien con varios de ustedes^^ !1

bueno tengo ujna gran duda con el listview y el treeview... quisiera que al darle click en un nodo me mande un mensaje cualquiera.... y al darle click a otro nodo que tambien me mande un mensaje pero distinto osea para cada nodo un mensaje
soy nuevo en vb.net y espero encontrar ayuda en este gran foro ^^


Desconectado jarexalf

  • Moderator
  • Habitual
  • *****
  • Mensajes: 148
  • Si te caes siete veces, levántate ocho
    • Ingenieria de sistemas y electronica
Re:Duda con un listview y treeview
« Respuesta #1 en: Octubre 01, 2011, 11:43:00 am »
hola, lo que debes de hacer es usar una funcion recursiva que recorra todos los nodos de tu treeview y cuando selecciones algun nodo, extraes la ubicacion o posicion del nodo, conociendo esto, puedes enviar el mensaje que tu desees.

Mira este post amigo: No puedes ver links Registrate o Login

No digas no puedo sin haberlo Intentado!

Desconectado fabian8310

  • Recien Llegado
  • *
  • Mensajes: 2
Re:Duda con un listview y treeview
« Respuesta #2 en: Octubre 12, 2011, 01:57:38 pm »
No puedes ver links Registrate o Login
hola, lo que debes de hacer es usar una funcion recursiva que recorra todos los nodos de tu treeview y cuando selecciones algun nodo, extraes la ubicacion o posicion del nodo, conociendo esto, puedes enviar el mensaje que tu desees.

Mira este post amigo: No puedes ver links Registrate o Login


Esto no es exactamente lo que se necesita, además de que no es óptimo ya que no es necesario recorrer todos los nodos para saber en cual se hizo click, no se necesita saber cuáles están seleccionados.

La mejor forma de hacerlo es usando el evento "NodeMouseClick" del TreeView. Este evento pasa como argumento un objeto, el cual contiene el nodo al cual se le hizo click. Lo que hay que hacer, es identificar el nodo y mostrar un mensaje de acuerdo al nodo que identificamos. Se puede usar el nombre del nodo para identificarlo (o tambien la propiedad Tag del nodo)

Sería algo así

Código: No puedes ver links Registrate o Login
Private Sub TreeView1_NodeMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles TreeView1.NodeMouseClick
        Select Case e.Node.Name.ToLower()
            Case "node0"
                MessageBox.Show("Este es el nodo cero")
            Case "node1"
                MessageBox.Show("Este es el nodo uno, hijo del cero")
            Case "node2"
                MessageBox.Show("Este es el nodo dos, hijo del cero y hermano del uno")
        End Select
    End Sub

Saludos

Desconectado jarexalf

  • Moderator
  • Habitual
  • *****
  • Mensajes: 148
  • Si te caes siete veces, levántate ocho
    • Ingenieria de sistemas y electronica
Re:Duda con un listview y treeview
« Respuesta #3 en: Octubre 16, 2011, 06:58:37 pm »
Cordial saludo amigos y visitantes de tecnohackers, debo decir que la forma expuesta por fabian8310 sobre "determinar que nodos de un treeview en vb.net eran seleccionados" no la conocia y me parece una forma sencilla y facil de saberlo, sin embargo no comparto lo que ha dicho sobre la forma en que yo determino que nodos de un treeview estan marcados. Tu dices que "No es Optima", pues yo pienso lo contrario y te lo explico con un ejemplo a continuacion:

si elaboras un modulo para gestionar permisos de algun usuario de un sistema y si quieres manejar a traves de un treeview que opciones tiene permitido y cuales no algun usuario deberias colocar en cada caso del evento TreeView1_NodeMouseClick() alguna rutina que capture el nombre del nodo seleccionado y que lo guarde en algun lugar para asi mas adelante determinar cuales nodos seleccionaste en caso de que hayas marcado varios. de la forma que tu has dicho hay que hacer el proceso de la manera mas larga pues deberias colocar en cada nodo una linea de codigo para que muestre un mensaje o lo guarde, que tal si tu treeview tiene 100 nodos (que es muy poco) o mas, se convierte el trabajo que haces en algo tedioso cierto; bueno por eso es que existen los ciclos en la programacion para automatizar el trabajo y los procesos que se vuelven repetitivos, si lo haces a traves de ellos solo debes colocar un pequeño fragmento de codigo para que busques iterativa o recursivamente algun dato de interes. Por eso amigo no creo que mi metodo sea inadecuado o poco optimo, es solo que la solucion que tu has dado resulta ser la mas sencilla y facil de usar, eso es lo que uno siempre quiere que las cosas se hagan de la forma mas facil, pero a veces segir el camino corto puede convertirse mas adelante en algo trabajoso o complicado.

Bueno espero y mi comentario les haya permitido contrastar mi opinion con la de los demas users, lo hice no con la intencion de generar controversia si no de opinar sobre lo que yo pienso cuando realizo alguna aplicacion....
No digas no puedo sin haberlo Intentado!

Desconectado fabian8310

  • Recien Llegado
  • *
  • Mensajes: 2
Re:Duda con un listview y treeview
« Respuesta #4 en: Octubre 18, 2011, 11:07:32 am »
Si, es verdad lo que dices, pero ten en cuenta que las soluciones que damos pueden ser óptimas en unas circunstancias y necesidades, pero en otras no, como todo en la programación. En lo que pedia el usuario llAudioslavell, solo se debia identificar el nodo al que se le habia hecho un click y mandar un mensaje, nada más. Pero en el caso que tu planteas, se requiere algo muy diferente (y de hecho uso esa solución para un sistema de permisos de usuario para el sistema POS que estamos desarrollando para una cadena de almacenes del pais en el que trabajo) y es para saber cuáles nodos están seleccionados y cuáles no, y no podemos pretender usar la misma solución para ambos casos. Hacerlo, sería caer en el anti-patrón "bala de plata".

Tags:

 

Related Topics

  Asunto / Iniciado por Respuestas Último mensaje
5 Respuestas
340 Vistas
Último mensaje Agosto 07, 2010, 12:12:29 pm
por Necrófero
1 Respuestas
362 Vistas
Último mensaje Junio 23, 2011, 08:35:21 pm
por jarexalf
14 Respuestas
290 Vistas
Último mensaje Julio 05, 2011, 01:07:21 am
por Dement
0 Respuestas
61 Vistas
Último mensaje Noviembre 23, 2011, 05:45:55 am
por enyels


SMF 2.0.2 | SMF © 2011, Simple Machines
Paginas Afiliadas
InfraBios - i-hacker - Twitter - FaceBook - Troyanosyvirus - LaWebDeGoku - daraxblog
Designed by Smf Personal