aspx_espanol thread: TreeViews: 1/2 pregunta 1/2 explicacion.
--=====================_23694060==_.ALT
Content-Type: text/plain; charset="iso-8859-1"; format=flowed
Content-Transfer-Encoding: quoted-printable
Saludos,
Para quien no sepa c=F3mo funcionan, aqui va una peque=F1a
explicaci=F3n, que acaba en una duda, por si pudiera contestarmela alguien.
Es mi forma de coloborar y no siempre preguntar.
Mi proposito es mostrar un arbol con la estructura de una unidad
de disco, por cierto, he visto clases sobre Ficheros y sobre Directorios
pero no sobre Unidades, osea que a=FAn no se como mostar=E9 el listado de
las
existentes (1=AA).
TreeView tiene un uso muy parecido a nuestro antiguo Visual Basic.
A trav=E9s de su propiedad Nodes podemos acceder a un objeto contenedor de
objetos (una coleccion de objetos) llamado TreeViewNodeCollection el cual
contiene los Nodos del primer nivel.
TreeView tvBase =3D new TreeView();
tvBase.Nodes.Add(new TreeViewNode("Root"));
Add es un m=E9todo que pertenece ya a al objeto
TreeViewNodeCollection, y por tanto, TreeViewNode es el objeto que
representa el nodo que vamos a insertar.
=BFQue sucede si queremos insertar subnodos? El constructor
TreeViewNode es polimorfico (acepta diferentes combinaciones de argumentos)
y entre sus formas se encuentra la posibilidad de enviarle un Array de
nodos.
TreeView tvBase =3D new TreeView();
TreeNode[] tnSubNodes =3D { new TreeNode("SubNodoA"), new
TreeNode("SubNodeB") };
TreeNode tnRoot =3D new TreeNode("Root", tnSubNodes);
Mi pregunta era, y hablo en pasado porque mientras os escrib=EDa he
encontrado la soluci=F3n :-) no obstante enviar=E9 el mail por si puede "
iluminar " a alguien. =BFQue pasa sino conozco desde el principio ni el
tama=F1o ni el contenido del Array? Porque he encontrado el modo de variar
el
valor de una posici=F3n del Array ( con el m=E9todo SetValue(valor, =EDndice
) )
pero no su tama=F1o una vez creado (2=AA).
Pues la soluci=F3n ha aparecido al reparar en que cada nodo, a su
vez, contiene una colecci=F3n de sus sub-noditos, como cab=EDa esperar (ser
=E1
que a=FAn no me he despertado) y que tiene la misma funcionalidad que su
padre.
TreeNode tnRoot =3D new TreeNode("Root");
tnRoot.Nodes.Add(new TreeNode("SubNodeA"));
tvContent.Nodes.Add(tnRoot);
Aunque me he autocontestado, a=FAn quedan un par de preguntas
escondidas por el texto, si alguien es tan amable... Por mi parte espero
seguir pudiendo colabrorar... :o)
Albin.