c# - Checking if node exists and adding child node -


since it's impossible make nodes invisible, decided don't create them until i'll need them.

my code:

if(combobox3.text == "books") {    if (treeview1.nodes.containskey("books") == true)    {       treeview1.nodes["books"].nodes.add(textbox1.text);    }     else if (treeview1.nodes.containskey("books") == false)    {       treeview1.nodes.add("books");       treeview1.nodes["books"].nodes.add(textbox1.text);    }  } 

in combobox there's few categories. it's code responsible "books". in textbox i'm writing title , after clicking button, code starting work. first, checking if root node "books" exists. if is, add inside textbox child node. if not, creates root node called "books" , after adds child node. im getting error in line:

treeview1.nodes["books"].nodes.add(textbox1.text); 

error:

nullreferenceexception unhandled 

also, possible change index number, ie. want make 5 categories, want have specific order, let's 1.house 2.cars 3.books 4.phones 5.bikes , want add first books, cars, bikes. there change index number?

in part error? in if or in else?

also, code simpler:

if(combobox3.text == "books") {     if (!treeview1.nodes.containskey("books"))         treeview1.nodes.add("books");      treeview1.nodes["books"].nodes.add(textbox1.text); } 

edit:

when adding treenode, have provide name node. can node of collection accessing collection through name. if don't set name, can still access collection using index. in case you're using string-key, therefore have provide name books-treenode:

if(combobox3.text == "books") {    if (!treeview1.nodes.containskey("books"))    {        treenode booksnode = new treenode("books");        booksnode.name = "books";        treeview1.nodes.add(booksnode);    }     treeview1.nodes["books"].nodes.add(textbox1.text); } 

and again shorter (but perhaps less readable) be:

if(combobox3.text == "books") {    if (!treeview1.nodes.containskey("books"))        treeview1.nodes.add(new treenode("books") { name = "books" });     treeview1.nodes["books"].nodes.add(textbox1.text); } 

Comments

Popular posts from this blog

How to mention the localhost in android -

php - Calling a template part from a post -

c# - String.format() DateTime With Arabic culture -