Background In order to simplify user’s data input and avoid erroneous input, reporting tools often provide a variety of drop-down boxes for users to choose. However, when there are too much data, drop-down box is troublesome too. If data are cascaded, it will be much easier. In this condition, a drop-down tree will be helpful. For example, we need to select city A when designing an input report. Obviously, it’s very difficult to select A in a drop-down box which lists all cities in the world. Suppose A is in region B, country C. If we can select C in all countries first, and then select B in corresponding regions of C, and select A in corresponding cities of B at last, it will save plenty of time. Difficulties To achieve the above drop-down tree, there are several problems to be solved. 1. Make a drop-down tree with javascript. 2. Ensure the versatility of the drop-down tree. As there are various tree structures of data, the data of the drop-down tree are hard to define. As there is no fixed mode of grade number or the relation condition between grades, they both need to be determined dynamically. 3. Add access control to the drop-down tree. a) In some applications, users are allowed to select only leaf nodes; while in some others, all nodes are available. b) In some applications, users are only allowed to make single selection; while in some others, multi selection is allowed. c) These options are only for these users, while those options are only for some others. Obviously, it is of great difficulty to achieve the above three functions by programming. Solution Fortunately, the input module of RAQ Report has achieved the function of drop-down tree. In the input module, RAQ Report takes a lot of details into thoughtful consideration, including the relation condition between cascaded grades, loop search, single selection and multi selection, optional control of leaf nodes and root node, user permissions, etc. Easy Operation It’s very easy to achieve these functions with RAQ Report. In the design of input report, you just need to define the relation condition between cascaded grades in drop-down tree, and set the properties of loop search, single selection and multi selection, optional control of leaf nodes and root nodes, user permissions, etc. This post is from freezea's blog. You are welcomed cc it anywhere, and please indicate the source. If you would like to read more articles about reporting tool, you are also welcome to refer to my blog.