Welcome to the Blazor feedback portal. We’re happy you’re here! If you have feedback on how to improve the Blazor, we’d love to hear it!>
Thanks for joining our community and helping improve Syncfusion products!
Hi,
I have been having multiple problems getting the SfGantt ResourceView to work. I believe that there is an issue when using Guid Keys with the Task and Resource objects that feed into the grid. I have also come up against an issue where an error is raised that seems to indicate that the Resource data type cannot be inferred.
The attached solution and video detail the various issues that I have been having and following is sample text of errors that have been raised.
I'd appreciate it if you can have a look and let me know if I have done anything wrong, or if there is a bug somewhere.
System.ArgumentException: An item with the same key has already been added. Key: 00000000-0000-0000-0000-000000000000at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)at Syncfusion.Blazor.Gantt.SfGantt`1.CreateGanttRecord(TreeListItem`1 data, Boolean isResourceView)at Syncfusion.Blazor.Gantt.SfGantt`1.ProcessFlatData(TreeListItem`1 record, Dictionary`2 groupData, List`1 flatData, Boolean isResourceCollection)at Syncfusion.Blazor.Gantt.SfGantt`1.PrepareFlatData(IEnumerable`1 data, Boolean isResourceCollection)at Syncfusion.Blazor.Gantt.Internal.GanttResourceView`1.CreateResourceFlatData(IEnumerable`1 data)at Syncfusion.Blazor.Gantt.SfGantt`1.ChangeGanttViewType()at Syncfusion.Blazor.Gantt.SfGantt`1.ModelChanged(IDictionary`2 propertyChanges, String propertyName)at System.Threading.Tasks.Task.<>c.b__128_0(Object state) at Microsoft.AspNetCore.Components.Rendering.RendererSynchronizationContext.PostAsync[TState](Task antecedent, Action`1 callback, TState state)Unhandled Exception:System.ArgumentNullException: Value cannot be null.at System.RuntimeType.MakeGenericType(Type[] instantiation)at Syncfusion.Blazor.Gantt.Internal.GanttUtils.ConvertResourcesType[GanttTaskDTO](TreeListItem`1 data, SfGantt`1 parent, Boolean isLoad)at Syncfusion.Blazor.Gantt.SfGantt`1[[SabrePMProject.Shared.Data.Other.GanttTaskDTO, SabrePMProject.Shared, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].CreateGanttItem(TreeListItem`1 item, Boolean isResource, Boolean isValidated)at Syncfusion.Blazor.Gantt.SfGantt`1[[SabrePMProject.Shared.Data.Other.GanttTaskDTO, SabrePMProject.Shared, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].CreateGanttRecord(TreeListItem`1 data, Boolean isResourceView)at Syncfusion.Blazor.Gantt.SfGantt`1[[SabrePMProject.Shared.Data.Other.GanttTaskDTO, SabrePMProject.Shared, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].ProcessFlatData(TreeListItem`1 record, Dictionary`2 groupData, List`1 flatData, Boolean isResourceCollection)at Syncfusion.Blazor.Gantt.SfGantt`1[[SabrePMProject.Shared.Data.Other.GanttTaskDTO, SabrePMProject.Shared, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].PrepareFlatData(IEnumerable`1 data, Boolean isResourceCollection)at Syncfusion.Blazor.Gantt.SfGantt`1[[SabrePMProject.Shared.Data.Other.GanttTaskDTO, SabrePMProject.Shared, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].CreateFlatData(IEnumerable`1 data)at Syncfusion.Blazor.Gantt.Internal.TreeGridPane`1.d__120[[SabrePMProject.Shared.Data.Other.GanttTaskDTO, SabrePMProject.Shared, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext() at Syncfusion.Blazor.Gantt.Internal.TreeGridPane`1.d__117[[SabrePMProject.Shared.Data.Other.GanttTaskDTO, SabrePMProject.Shared, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext() at Syncfusion.Blazor.Gantt.Internal.TreeGridPane`1.d__131[[SabrePMProject.Shared.Data.Other.GanttTaskDTO, SabrePMProject.Shared, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext() at System.Threading.Tasks.Task.<>c.b__128_1(Object state) at System.Threading.QueueUserWorkItemCallbackDefaultContext.Execute()at System.Threading.ThreadPoolWorkQueue.Dispatch()at System.Threading.ThreadPool.BackgroundJobHandler()