SfGantt - dynamic data rebinding

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


Attachment: GanttTest_1244c9ba.zip

2 Replies

AK Alagumeena Kalaiselvan Syncfusion Team November 16, 2021 04:16 PM UTC

Hi Volker, 
  
Greetings from Syncfusion support. 
  
We have checked your reported queries(#1, #2, #3, #5)  with your shared sample which issues could be replicated at our end and we addressed the query #6 in incident 348353. So, please track this incident for query #6 for further follow-up and checking the possibilities for query #4. We will investigate remaining issues and will share the details by tomorrow 17th November, 2021. 
  
Regards 
Alagumeena.K 



AK Alagumeena Kalaiselvan Syncfusion Team December 21, 2021 12:32 PM UTC

Hi Volker, 
  
Sorry for the delayed response. 
  
We have checked your reported queries and we request to follow up the respective incidents for further investigation. 
Query 
 Incident 
#1 
#2 
#3, #4 & #5 
The mentioned queries which is related to the UpdateRecordByIDAsync method. Kindly track the below incident for thathttps://support.boldreports.com/agent/tickets/358459 
  
Please get back to us if you need further assistance. 
  
Regards, 
Alagumeena.K 


Loader.
Up arrow icon