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
Post a Comment