/ / Exibir uma lista de nós em uma árvore TreeView - c #, treeview,

Exibir uma lista de nós em uma árvore TreeView - c #, treeview,

Eu tenho um objeto de nó que especifica o nível do nó

public class Node
{
public int Level { get; set; }
}

Eu quero usar uma lista ordenada de nós para construir um treeview

var nodes = new[]
{
new Node(){Level = 0},
new Node(){Level = 1},
new Node(){Level = 1},
new Node(){Level = 1},
new Node(){Level = 2},
new Node(){Level = 1},
new Node(){Level = 2},
new Node(){Level = 2},
new Node(){Level = 3},
};

Qual é a maneira mais eficiente de fazer isso?

obrigado

Rohan

Respostas:

0 para resposta № 1

Na sequência de Boo, você vai querer manter umpilha dos nós à medida que você sobe para um nível mais alto. Se o nível for maior no nó atual, empurre o nó anterior para a pilha e use-o como pai. Se o nível for menor que o nó anterior, retire os nós da pilha (n = nível_vista - nível_current) e use o novo stack-top como pai.


0 para resposta № 2

Faça um loop sobre sua lista de nós. Começando com o índice 0, registre o nível do nó. Em todos os índices subseqüentes, verifique o nível em relação ao último nível registrado. Se for superior, adicione-o como um subnó do último nó adicionado. encontre o nó apropriado para adicioná-lo.