Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

GanttView.ResourceLinksPath Property

Gets or sets a path to a collection of links to resources relative to a task object. This is a dependency property.

Namespace: DevExpress.Xpf.Gantt

Assembly: DevExpress.Xpf.Gantt.v24.2.dll

NuGet Package: DevExpress.Wpf.Gantt

#Declaration

public string ResourceLinksPath { get; set; }

#Property Value

Type Description
String

A path to a collection of links to resources.

#Remarks

Run Demo: Assign Resources to Tasks without Links

In the example below, gantt tasks have the ResourceIds property that contains resource IDs. Set the ResourceLinksPath property to ResourceIds to allow the GanttControl to assign resources to tasks.

<dxgn:GanttControl ItemsSource="{Binding Tasks}">
    <dxgn:GanttColumn BindTo="Name" Width="Auto"/>
    <dxgn:GanttColumn BindTo="ResourceLinks" AllowEditing="True"/>
    <dxgn:GanttControl.View>
        <dxgn:GanttView ResourcesSource="{Binding Resources}"
                        ResourceLinksPath="ResourceIds"
                        ChildNodesPath="Children"
                        TreeDerivationMode="ChildNodesSelector"
                        StartDateMapping="StartDate"
                        FinishDateMapping="{dxgn:Mapping FinishDate}"
                        NameMapping="{dxgn:Mapping Name}">
            <dxgn:GanttView.ResourceMappings>
                <dxgn:GanttResourceMappings Name="Name" Key="Id"/>
            </dxgn:GanttView.ResourceMappings>
            <dxgn:GanttView.ResourceLinkMappings>
                <dxgn:GanttResourceLinkMappings Resource="."/>
            </dxgn:GanttView.ResourceLinkMappings>
        </dxgn:GanttView>
    </dxgn:GanttControl.View>
</dxgn:GanttControl> 
public class BindResourcesWithoutLinksViewModel {
    public BindResourcesWithoutLinksViewModel() {
        // ...
        Tasks = new List<GanttDataItemWithResources> {
            new GanttDataItemWithResources {
                StartDate = startDate,
                FinishDate = startDate + TimeSpan.FromDays(5),
                Name = "Market Analysis",
                ResourceIds = new List<int>() { 1 }
            },
            new GanttDataItemWithResources {
                Name = "Feature Planning",
                StartDate = startDate + TimeSpan.FromDays(5),
                FinishDate = startDate + TimeSpan.FromDays(9),
                ResourceIds = new List<int>() { 1, 2 }
            },
            new GanttDataItemWithResources {
                Name = "Feature 1",
                StartDate = startDate + TimeSpan.FromDays(9),
                FinishDate = startDate + TimeSpan.FromDays(16),
                Children = new[] {
                    new GanttDataItemWithResources {
                        Name = "Implementation",
                        StartDate = startDate + TimeSpan.FromDays(9),
                        FinishDate = startDate + TimeSpan.FromDays(13),
                        ResourceIds = new List<int>() { 2 }
                    },
                    new GanttDataItemWithResources {
                        Name = "Demos & Docs",
                        StartDate = startDate + TimeSpan.FromDays(13),
                        FinishDate = startDate + TimeSpan.FromDays(16),
                        ResourceIds = new List<int>() { 4, 2 }
                    }
                },
            },
            // ...
        };

        Resources = new List<GanttResourceItem> {
            new GanttResourceItem { Name = "Management", Id = 1 },
            new GanttResourceItem { Name = "Developers", Id = 2 },
            new GanttResourceItem { Name = "Testers", Id = 3 },
            new GanttResourceItem { Name = "Technical Writers", Id = 4 }
        };
    }

    public IEnumerable<GanttDataItemWithResources> Tasks { get; private set; }
    public IEnumerable<GanttResourceItem> Resources { get; private set; }
}

public class GanttDataItemWithResources : GanttDataItem {
    public List<int> ResourceIds { get; set; }
}

public class GanttResourceItem {
    public string Name { get; set; }
    public int Id { get; set; }
} 
See Also