>Yeah, it takes quite a while. Most of the time there won't be many items in there. The problem is, as it often is, the exception. It is possible for there to be many thousands of items if the user chooses certain parameters. I need to be able to handle that if it happens.
OK. Well, I really don't know the answer to your original question.
Populating the tree "on-demand", however, seems to me the best solution. If the user expands a node, populate it. If the user searches and locates a specific record in another way, you might make sure that that specific record is in the treeview, and expand it.
This would both make the treeview faster, and, hopefully, overcome the array limitation.
Hilmar.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)