Build a large Windows Tree (vb.net) from database/dataset
$100-250 USD
クローズ
投稿日: 約19年前
$100-250 USD
完了時にお支払い
I have multiple trees in my application. The primary tree allows users to create different "types" of nodes, drag them, delete them, move them, etc. This is a tree that is "Load On Demand" and it works very well.
My issue is in building other trees based on this tree. Specifically, the secondary trees are checkbox trees that allow the user to pick one or more of the nodes on the tree. Since all the nodes "must" be already on the tree for the cascading to work (or the cascading has to build the tree on demand...an even slower process), I need to "build" the tree anytime a user
wants to use it "just in case something might have changed on the primary tree."
The process I use today goes like this.
1) User picks a couple of options regarding dataset to be pulled for the tree build
2) User clicks a button to "build tree"
3) Tree is built on a separate three using a delegate so as not to impact UI
4) A dataset is loaded from a table in a SQL database (this is a flat table so it is fast)
5) a routine is looped through adding one node at a time as there are an infinite number of levels
6) tree is "built" as a binary stream in memory (this way it does not show the tree building in the UI)
7) binary tree is loaded into the UI tree
My issue is that this process takes much longer than expected. for a tree with just 2000 nodes, it can take up to 30 seconds. Maybe that is not "too" slow, but the user loses patience.
Does anyone have any suggestions? Is there anyone that could review my code that has experience in doing something like this? Experience with Infragistics WinTree is most likely helpful but not required. Experience with build dynamic trees from a flat database is a necessity. The purpose of this project is not to simply build the tree (that works already), it is to make the building of the tree "fast."
Any ideas...please...
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
VB.Net 2003
Infragistics Controls (WinTree)