I’ve got a tree component on the stage that the user can add folders and questions to. I need to write the data from the tree into a database as the user adds items and then re-build the tree from the database when the user re-opens the program. This works fine except the client wants the user to be able to delete and move items within the tree.
I’m not sure how I can track the position of items within the tree so that it re-builds the tree (from the database values) in the same order as it was when the user closed the program?
At first, I thought I would just add the getDisplayIndex of the selectedNode, but that changes when you expand or collapse a folder, and it would also mean that I would have to update a number in each database entry any time the user moves a folder or item…
I’m thinking the only way I can get around this and ensure the db tracks the latest treeview is to provide a “Save” button and make the user hit that (instead of hitting the “Accept Changes” button which currently exists for each item & folder and just updates the database on each new entry). With the “Save” button, I could just copy a new database on top of the old one (removing all the unique id indexes) and then write to the new db. Not the end of the world, but it seems more ponderous and less intuitive. Plus, if the user enters hundreds of items, it could take time to write the entire db each time…
Does that make sense??
It’s making my head hurt…