I am currently populating my UltraGanttView control by iterating through records in a datatable and manually adding Tasks and Dependencies. My data can be complicated at times with lots of dependencies between the tasks. With only 300 or so records in the datatable, it takes roughly 2 minutes to populate my Gantt chart, which is too long for somebody to wait.
I have played around with the databindings on the CalendarInfo object, but I can't seem to find a way to do tasks of tasks. It seems like the databinding method was designed for very "flat" data with only one level, not multiple levels of tasks and/or dependencies. Can somebody point me in the right direction? I've run a code profiler and all of the slowness is in the code where I add a task or a dependency. It's not in dealing with the datatable at all.
Also, is there any kind of BeginUpdate/EndUpdate for the CalendarInfo object? I'm wondering if that would help speed things up.
UltraCalendarInfo's DataBindingsForTasks object provides a ParentTaskID property that I believe addresses this requirement. You can use this property to tell the UltraCalendarInfo which property your tasks use to identify their parents.
This help topic provides more information and a code sample: https://www.infragistics.com/help/winforms/winganttview-databinding-support-for-winganttview
Please let me know if you have any further questions.