Back to Devexpress

GanttExtension.Bind(Object, Object, Object, Object) Method

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

latest4.7 KB
Original Source

GanttExtension.Bind(Object, Object, Object, Object) Method

Binds the Gantt to a data source.

Namespace : DevExpress.Web.Mvc

Assembly : DevExpress.Web.Mvc5.v25.2.dll

NuGet Package : DevExpress.Web.Mvc5

Declaration

csharp
public GanttExtension Bind(
    object taskObject,
    object taskDependencyObject,
    object resourceObject,
    object resourceAssignmentObject
)
vb
Public Function Bind(
    taskObject As Object,
    taskDependencyObject As Object,
    resourceObject As Object,
    resourceAssignmentObject As Object
) As GanttExtension

Parameters

NameTypeDescription
taskObjectObject

The task object.

| | taskDependencyObject | Object |

The task dependency object.

| | resourceObject | Object |

The resource object.

| | resourceAssignmentObject | Object |

The resource assignment object.

|

Returns

TypeDescription
GanttExtension

The Gantt extension.

|

Remarks

Run Demo: Gantt Extension - Data Binding and Editing

cshtml
@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()
csharp
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

GanttExtension Class

GanttExtension Members

DevExpress.Web.Mvc Namespace