Skip to main content
A newer version of this page is available. .

AppointmentDependency Interface

A dependency established between tasks (Appointment objects) in the Gantt view.

Namespace: DevExpress.XtraScheduler

Assembly: DevExpress.XtraScheduler.v19.1.Core.dll


public interface AppointmentDependency :

The following members accept/return AppointmentDependency objects:

Show 19 links
Library Related API Members
Cross-Platform Class Library AppointmentDependencyBaseCollection.GetDependencyByIds(Object, Object)
IAppointmentDependencyFactory.CreateAppointmentDependency(Object, Object)
IAppointmentDependencyFactory.CreateAppointmentDependency(Object, Object, AppointmentDependencyType)
IAppointmentDependencyStorage.CreateAppointmentDependency(Object, Object)
IAppointmentDependencyStorage.CreateAppointmentDependency(Object, Object, AppointmentDependencyType)
ISchedulerStorageBase.CreateAppointmentDependency(Object, Object)
ISchedulerStorageBase.CreateAppointmentDependency(Object, Object, AppointmentDependencyType)
SchedulerStorageBase.CreateAppointmentDependency(Object, Object)
SchedulerStorageBase.CreateAppointmentDependency(Object, Object, AppointmentDependencyType)
WinForms Controls AppointmentDependencyDataStorage.Add(Object, Object)
AppointmentDependencyDataStorage.Add(Object, Object, AppointmentDependencyType)
AppointmentDependencyDataStorage.CreateAppointmentDependency(Object, Object)
AppointmentDependencyDataStorage.CreateAppointmentDependency(Object, Object, AppointmentDependencyType)
SchedulerDataStorage.CreateAppointmentDependency(Object, Object)
SchedulerDataStorage.CreateAppointmentDependency(Object, Object, AppointmentDependencyType)
WPF Controls SchedulerStorage.CreateAppointmentDependency(Object, Object)
SchedulerStorage.CreateAppointmentDependency(Object, Object, AppointmentDependencyType)


An AppointmentDependency object is a link established between two tasks (appointment objects). The link originates from the appointment specified by its identifier via the AppointmentDependency.ParentId property and is directed to the appointment specified by the AppointmentDependency.DependentId property. A link type is specified via the AppointmentDependency.Type property.


A dependency requires two appointment IDs. The type of dependency can be set explicitly or implied. By default, the type is AppointmentDependencyType.FinishToStart.

You can create a number of dependencies with one ID being identical, and differing in the other ID and type. So, a certain appointment can have multiple dependencies. But it is not correct to have multiple dependencies which differ in type only. Such relationships are ambiguous and are not processed (i.e. only one dependency is processed and displayed).

AppointmentDependency objects are stored in the SchedulerStorage.AppointmentDependencies storage. A collection of dependencies can be obtained via the AppointmentDependencies.Items method. You can then use methods such as AppointmentDependencyBaseCollection.GetDependenciesByDependentId, AppointmentDependencyBaseCollection.GetDependenciesByParentId and AppointmentDependencyBaseCollection.GetDependencyByIds to access individual dependencies.

The following code snippet adds a new dependency between two appointments:

using DevExpress.XtraScheduler;
// ...
object Id1 = schedulerDataStorage1.Appointments[0].Id;
object Id2 = schedulerDataStorage1.Appointments[1].Id;
    Id1, Id2, AppointmentDependencyType.FinishToStart);


AppointmentDependencies are displayed in the Gantt View only.

If a Scheduler is bound to data, AppointmentDependency objects require a data source with fields mapped using information contained in the AppointmentDependencyMappingInfo object. At design time, use the Scheduler smart tag to invoke a mapping wizard to assist you in specifying correct mappings. See the Data Sources topics for more information on data tables.

The following code snippets (auto-collected from DevExpress Examples) contain references to the AppointmentDependency interface.


The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also