phires / reportsync

Fork of ReportSync Tool to sync SSRS reports between to servers
MIT License
32 stars 23 forks source link

Added lazy loading tree. Unfortunately, I didn't have much time to test. #9

Closed JeffLeBert closed 4 years ago

JeffLeBert commented 4 years ago

Instead of loading the entire tree (either source or destination) when you click Load, it now only loads the top level. In my case this is about 200 nodes with about 1500 RDL files under each. Without the lazy loading, this would take over 30 minutes. Now it only takes seconds.

As you expand nodes, the child nodes are loading if they haven't been already. This means you only have to load the nodes that you actually care about.

Use at your own risk. I didn't have much time to do this work so did little testing. I didn't have time to fully understand the program.

I've used this technique of creating a "fake" child node and using it to identify parent nodes that haven't been expanded yet. This makes the UI look correct since you need a child node to be able to expand the parent node.