Hi there,
we found several problems when using your GANTT-component in a real-life scenario (multitenancy).
What is it all about? Basically we need a robust solution to be able to update the task-list for a GANTT from an external source without getting exceptions, no matter how slowly (1 per hour)) or fast (several times a second) we trigger the update process. The task-list changes from time to time (updated tasks, new tasks, obsolet tasks, stored on SQL-server, table-based multitenancy) so we have to fully refresh it. It seems that the waiting time for rendering the frontend (jquery) cause all the problems.
We've build this strongly simplified example so that you can simulate and reproduce the behaviour, see attached sample.
1) Whenever we press one of the three buttons on the top, the spiller and the GANTT move to the right and destroys the bootstrap grid (col-6) system. Very strange.
2) When we press "Populate" and then "Renew data" to simulate trigger events of a background worker, we get null exceptions. What is the reason for this? How can we prevent this? How do we have to modify our example project to get rid of this error?
3) We can manually shape the task list of a visible, rendered GANTT (correct start/end dates based on task chain dependencies and duration, total progress of the top task based on its children) when we press "Calculate data". How can we force this function to be called automatically, e.g. every time we populate or refresh the task data after the GANTT rendering has finished? The goal is to use your UpdateRecordByIDAsync logic to keep our custom task list (SQL server) consistent.
4) To go a step further: it would be nice, when we get a data list from the SQL server, that we create a temporary GANTT on the web server without frontend rendering, run the Syncfusion GANTT business logic over it (UpdateRecordByIDAsync), store the updated data list in the SQL server and delete the temporary GANTT. It would be very helpful to have such an encapsulated function. It is only a matter of creating an invisible temporary GANTT including UpdateRecordByIDAsync, the SQL server CRUD operations are known, no further help needed there. Perhaps you can create an example based on our sample project.
5) How can we recalculate the task list when filtering is enabled ("Add filter") so that only the visible tasks are recalculated? Otherwise, an exception occurs when we try to update the whole list while it is filtered in the GANTT. Please press "Populate", then "Filter", then "Calc data".
6) We want to select a row via it's primary key (taskID) not by it's front-end index (which in most cases is unknown). Hence you don't provide such a function, we have to write our own logic. Please press "Select TaskId 105" to reproduce the client-side error.
Thank you for your help.
Cheers,
Volker
|
Query |
Incident |
|
#1 |
|
|
#2 |
|
|
#3, #4 & #5 |
The mentioned queries which is related to the UpdateRecordByIDAsync method. Kindly track the below incident for that https://support.boldreports.com/agent/tickets/358459 |