c# - How to populate a treeview from a list of objects -
i'm having problem populating treeview list of objects. i've been looking solutions on google, found topic close problem, none of them solved it.
i have list properties each object : name , group.
i populate treeview below :
+---group 1 | | | +--------object.name <-- | +--------object.name <-- objects object.group = group 1 | +--------object.name <-- | +---group 2 | | | +--------object.name <-- | +--------object.name <-- objects object.group = group 2 | +--------object.name <-- | and on.
thanks.
worked well, thanks. i've added few lines @ beginning , @ end of else below.
private void populatetreeview() { listofobjectssorted = listofobjects.orderby(r => r.group).tolist(); var topnode = new treenode("select all"); treeview1.nodes.add(topnode); string currentgroup = listofobjectssorted.first().group; var treenodes = new list<treenode>(); var childnodes = new list<treenode>(); foreach (object obj in listofobjectssorted ) { if (currentgroup == rule.group) childnodes.add(new treenode(obj.name)); else { if (childnodes.count > 0) { treenodes.add(new treenode(currentgroup, childnodes.toarray())); childnodes = new list<treenode>(); } childnodes.add(new treenode(obj.name)); currentgroup = obj.group; } } if (childnodes.count > 0) { treenodes.add(new treenode(currentgroup, childnodes.toarray())); } treeview1.nodes[0].nodes.addrange(treenodes.toarray()); }
Comments
Post a Comment