An AppointmentDependency object is a link established between two tasks (appointment objects). The link originates from the appointment specified by its identifier via the ParentId property and is directed to the appointment specified by the DependentId property. A link type is specified via the 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 DevExpress.XtraScheduler.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:
C# |
using DevExpress.XtraScheduler;
object Id1 = schedulerStorage1.Appointments[0].Id;
object Id2 = schedulerStorage1.Appointments[1].Id;
AppointmentDependency dep = new AppointmentDependency(Id1, Id2, AppointmentDependencyType.FinishToStart);
schedulerStorage1.AppointmentDependencies.Add(dep);
|
VB |
Imports DevExpress.XtraScheduler
Private Id1 As Object = schedulerStorage1.Appointments(0).Id
Private Id2 As Object = schedulerStorage1.Appointments(1).Id
Private dep As New AppointmentDependency(Id1, Id2, AppointmentDependencyType.FinishToStart)
schedulerStorage1.AppointmentDependencies.Add(dep)
|
Note
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.