In my Gantt-View, data binding is taking ages.
Initial binding takes more than 30 seconds for a few thousand records, updating is slightly faster at around 8 seconds.
Even more puzzling, after update data has been merged (DataSet merge), I try to restore the last active task. When I allocate the task to the GanttView's ActiveTask property, again it takes longer than 30 seconds.
// re-select formerly selected task if (_lastActiveTask != null) { foundTask = FindTask(_calendarInfo.Tasks, _lastActiveTask); if (foundTask != null) ultraGanttView.ActiveTask = foundTask; <--- this takes ages }
When I remove this allocation, the system will hang at the next allocation to the gantt chart:
// re-set scrollbar position if (_firstVisibleTask != null) { foundTask = FindTask(_calendarInfo.Tasks, _firstVisibleTask); if (foundTask != null) ultraGanttView.EnsureTaskInView(foundTask, true); <--- this takes ages, when code above is removed }
To sum up, always the first allocation plus binding and updating is taking far too long. I assume I missed out on some weird setting and appreciate any help :)
Before doing all that stuff, of course I do this:
ultraGanttView.BeginUpdate(); ultraGanttView.SuspendLayout();
€: Until now, I was not able to reproduce the issue outside of our project.
I made a sample application as similar to our project as possible with 10.000 parent tasks and tasks in a single project, takes 250ms to bind...
I know that a sample project will help to reproduce th issue. I'll try, tho it's nested deep into our SCSF project using internal and external proprietary components.
I thought it might be something obvious I missed out on. What are typical scenarios where the GanttView would take so long to bind data or allocate something? I have also seen this behaviour with the UltraWinGrid, so it might be a common issue.
As said, I'll try to produce a little sample; hope it doesn't take too long...
Hello,
I don't see anything out of the ordinary within the code snippets you posted. In order to help me investigate this issue, could you post a small sample project which reproduces the issue? If I could reproduce this issue the way you are seeing it, it would greatly help me and our other developers to investigate what may be causing this issue.