Often when developing a dashboard with Xcelsius we have connections to a DataBase, either with LiveOffice or QaaWS (Query as a Web Service). This leaves us with only two options to refresh our dashboard: either we proceed once all the Xcelsius components are loaded or, alternatively, change a radio button, combo box or any of the components related to the connection objects. In both these examples, when having to manage large amounts of data, we would normally wait until the connection returns our request. This can be frustrating, especially when we don’t have any indicator to signal that the data is being processed. In this article I will illustrate a convenient solution to this problem.
- First of all we need to create the objects that will be displayed while the query is loading the data: I would advise to start by creating a rectangle as a fake layer. Once this has been done we create another image that will be our animation.
We have many possible animations:
View the flash file: Loading Animations in Xcelsius
This is how the animation appears:
View the flash file: Xcelsius Animation
- We then group these two objects and bring them to the front.
- In a spreadsheet we create a cell where we bind the status of the query.
- Reached this point, under properties in QaaWs or in Live Office connection we follow these steps:
In the Usage tab:
Load Status section:
- In the Loading Message cell we hardcode a "L"
- In the Idle Message cell we hardcode a "C"
- In the Insert In option we should map the cell of the spreadsheet, in our case "B1"
- Finally we select the group that we had previously created, and in the dynamic visibility window we map the Status to the "B1" cell and the key to an "L". This means that while the query is loading, we can simultaneously view the group.
The final result is as displayed below.
This strategy contributes to providing a user friendly environment in particular in those situations of slow data retrieval.
If you have any questions or suggestions about this solution, please feel free to leave a comment and I will gladly reply.