Jump to content
dio123

tree view

Recommended Posts

dio123

Quanto mais rápido quero acabar a minha pap, mas coisas aparecem para fazer. Então é o seguinte:

Criei uma tree view , com categorias e subcategorias baseada na explicação do blog JPaulino, e funciona muito bem.

Depois acrescentei textbox para criar só categorias, tambem ja esta a funcionar. 

Agora tenho outra textbox para criar subcategorias, mas iria criar a subcategoria se estive-se a categoria selecionada no tree view.

Entao iventei um codigo mas nao dá.

Dim newNode As TreeNode(SelectedNode.text)
            node2.Nodes.Add(TextBox3.Text)
            TextBox3.Clear(

Share this post


Link to post
Share on other sites
Caça

Só tens de colocar

TreeView1.Nodes(0).Nodes.Add("Texto a inserir")

em que 0 corresponde ao primeiro item da TreeView no nível 0


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
dio123

mas não dá para o utilizador escolher qual o nível onde quer adicionar.  neste caso o 0.

andei a explorar o vb para ver se encontrava algo em que ao clicar nos nivels desse nivel 1 2 3.... mas nao encontrei nada.

a = TreeView1.SelectedNode.Level

Share this post


Link to post
Share on other sites
Caça

Se estás a trabalhar com categorias e subcategorias, apenas terás dois níveis, o nível 0 é o nível das categorias e o nível 1 é o nível das subcategorias.


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
ribeiro55
If TreeView1.SelectedNode.Level = 0 Then TreeView1.SelectedNode.Nodes.Add("Texto a inserir")


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
dio123

tens razão caça, acho que não me expressei bem no que quero.

tenho a treeview com as categorias e subcategorias, 

queria era ao clicar numa categoria obtive-se um numero para poder usar e substituir o 0 por a categoria correspondente.  TreeView1.Nodes(0).Nodes.Add("Texto a inserir")

usei TreeView1.SelectedNode.index, as categorias  funcionam bem são atribuidos 0,1, 2  , e as subcategorias também retomam o valor 0, 1 ,2  e nao cria.

Share this post


Link to post
Share on other sites
Caça

No evento "AfterSelect" da TreeView consegues obter o index

MsgBox(e.Node.Index)

EDIT: Ou podes simplesmente colocar isto onde quiseres

TreeView1.Nodes(TreeView1.SelectedNode.Index).Nodes.Add("Texto a Inserir")


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
ribeiro55

Para acrescentares nós ao segundo nível, precisas de um pai seleccionado.

A linha de código que te dei mantém-se válida para este efeito.

Não precisam de trabalhar com o indíce quando o SelectedNode vos trás o objecto todo.


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
Caça

Não precisam de trabalhar com o indíce quando o SelectedNode vos trás o objecto todo.

Pois tens razão, mas também se pode trabalhar com chaves, ou seja, em vez de ter indexes normais (0, 1, 2, ...) teria por exemplo o ID da categoria.


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
dio123

ribeiro55, a linha que me enviaste funciona bem  e é isso que quero.

Queria saber se há maneira não deixar o utilizador seleccionar as subcategorias? 

isto porque se o utilizador seleccionar a categoria,  adiciona bem a subcategoria , mas se clicarmos numa subcategoria e formos adicionar a subcategoria vai parar a outra categoria.

desde ja agradeço pela ajuda que me tem dado.

Share this post


Link to post
Share on other sites
Caça

É claro que há

Coloca este código no evento BeforeSelect

If e.Node.Level > 0 Then e.Cancel = True


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
ribeiro55

A linha de código que te enviei protegia-te contra essa eventualidade: só permitia adicionar sub-categorias a níveis zero ;)

Agora acho que não percebi bem 😳


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
dio123

ribeiro55, bem já está  a funcionar, com a linha de codigo que me destes.

neste momento já consigo adicionar categoria e subcategoria na treeview e já pus a adicionar e guardar na  base de dados sql server.

Agora vou fazer o alterar e o remover.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.