aspnetmvc-devexpress-dot-web-dot-mvc-dot-ganttextension-dot-bind-x28-system-dot-object-system-dot-object-system-dot-object-system-dot-object-x29.md
Binds the Gantt to a data source.
Namespace : DevExpress.Web.Mvc
Assembly : DevExpress.Web.Mvc5.v25.2.dll
NuGet Package : DevExpress.Web.Mvc5
public GanttExtension Bind(
object taskObject,
object taskDependencyObject,
object resourceObject,
object resourceAssignmentObject
)
Public Function Bind(
taskObject As Object,
taskDependencyObject As Object,
resourceObject As Object,
resourceAssignmentObject As Object
) As GanttExtension
| Name | Type | Description |
|---|---|---|
| taskObject | Object |
The task object.
| | taskDependencyObject | Object |
The task dependency object.
| | resourceObject | Object |
The resource object.
| | resourceAssignmentObject | Object |
The resource assignment object.
|
| Type | Description |
|---|---|
| GanttExtension |
The Gantt extension.
|
Run Demo: Gantt Extension - Data Binding and Editing
@Html.DevExpress().Gantt(settings => {
settings.Name = "gantt";
// ...
settings.Mappings.Task.Key = "ID";
settings.Mappings.Task.ParentKey = "ParentID";
settings.Mappings.Task.Title = "Subject";
settings.Mappings.Task.Start = "StartDate";
settings.Mappings.Task.End = "EndDate";
settings.Mappings.Task.Progress = "PercentComplete";
settings.Mappings.Dependency.Key = "ID";
settings.Mappings.Dependency.PredecessorKey = "ParentID";
settings.Mappings.Dependency.SuccessorKey = "DependentID";
settings.Mappings.Dependency.DependencyType = "Type";
settings.Mappings.Resource.Key = "ID";
settings.Mappings.Resource.Name = "Name";
settings.Mappings.ResourceAssignment.Key = "ID";
settings.Mappings.ResourceAssignment.TaskKey = "TaskID";
settings.Mappings.ResourceAssignment.ResourceKey = "ResourceID";
}).Bind(
GanttDataProvider.Tasks,
GanttDataProvider.Dependencies,
GanttDataProvider.Resources,
GanttDataProvider.ResourceAssignments
).GetHtml()
public static class GanttDataProvider {
const string
TasksSessionKey = "Tasks",
DependenciesSessionKey = "Dependencies",
ResourcesSessionKey = "Resources",
ResourceAssignmentsSessionKey = "ResourceAssignments";
static HttpSessionState Session { get { return HttpContext.Current.Session; } }
public static List<Task> Tasks {
get {
if(Session[TasksSessionKey] == null)
Session[TasksSessionKey] = CreateTasks();
return (List<Task>)Session[TasksSessionKey];
}
}
public static List<Dependency> Dependencies {
get {
if(Session[DependenciesSessionKey] == null)
Session[DependenciesSessionKey] = CreateDependencies();
return (List<Dependency>)Session[DependenciesSessionKey];
}
}
public static List<Resource> Resources {
get {
if(Session[ResourcesSessionKey] == null)
Session[ResourcesSessionKey] = CreateResources();
return (List<Resource>)Session[ResourcesSessionKey];
}
}
public static List<ResourceAssignment> ResourceAssignments {
get {
if(Session[ResourceAssignmentsSessionKey] == null)
Session[ResourceAssignmentsSessionKey] = CreateResourceAssignments();
return (List<ResourceAssignment>)Session[ResourceAssignmentsSessionKey];
}
}
static List<Task> CreateTasks() {
//...
}
static List<Dependency> CreateDependencies() {
//...
}
static List<Resource> CreateResources() {
//...
}
static List<ResourceAssignment> CreateResourceAssignments() {
//...
}
}
See Also