Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
170
Populating the Resource Field
posted

Hi Guys,

I have implemented a Gantt chart in to my VB.NET project ready to show my managers at a meeting before we purchase Infragistics they now want to add to the Gantt chart who each Task is assigned to. here is my code for what i have done, can anyone help me with how I populate this field.

Regards

David 

Imports Infragistics.Win.UltraWinGanttView

Imports Infragistics.Win.UltraWinSchedule

Imports Infragistics.Win

Imports Perrite.Module1

Imports System.Data.SqlClient

Imports System.Collections.Generic

Imports System.ComponentModel

Imports System.Data

Imports System.Drawing

Imports System.Text

Imports System.Windows.Forms

Imports Infragistics.Win.UltraWinEditors

Imports System.Resources

 

Public Class FrmMangSchdule

 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

 

 

 

        ' Call the method that creates a DataSet 

        Dim ds As DataSet = Me.GetSampleData()

 

        ' Set the BindingContextControl property to reference this form 

        Me.UltraCalendarInfo1.DataBindingsForTasks.BindingContextControl = Me

        Me.UltraCalendarInfo1.DataBindingsForProjects.BindingContextControl = Me

 

        ' Set the DataBinding members for Projects 

        Me.UltraCalendarInfo1.DataBindingsForProjects.SetDataBinding(ds, "Projects")

        Me.UltraCalendarInfo1.DataBindingsForProjects.IdMember = "ProjectID"

        Me.UltraCalendarInfo1.DataBindingsForProjects.KeyMember = "ProjectKey"

        Me.UltraCalendarInfo1.DataBindingsForProjects.NameMember = "ProjectName"

        Me.UltraCalendarInfo1.DataBindingsForProjects.StartDateMember = "ProjectStartTime"

 

        ' Set the DataBinding members for Tasks

        Me.UltraCalendarInfo1.DataBindingsForTasks.SetDataBinding(ds, "Tasks")

 

        ' Basic Task properties 

        Me.UltraCalendarInfo1.DataBindingsForTasks.NameMember = "TaskName"

        Me.UltraCalendarInfo1.DataBindingsForTasks.DurationMember = "TaskDuration"

        Me.UltraCalendarInfo1.DataBindingsForTasks.StartDateTimeMember = "TaskStartTime"

        Me.UltraCalendarInfo1.DataBindingsForTasks.IdMember = "TaskID"

        Me.UltraCalendarInfo1.DataBindingsForTasks.ProjectKeyMember = "ProjectKey"

 

        Me.UltraCalendarInfo1.DataBindingsForTasks.ConstraintMember = "Constraint"

 

        Me.UltraGanttView1.CalendarInfo = Me.UltraCalendarInfo1

        Me.UltraGanttView1.Project = Me.UltraGanttView1.CalendarInfo.Projects(1)

 

        End Sub

 

    Private Function GetSampleData() As DataSet

 

        Dim connetionString As String = ""

        Dim connection As SqlConnection

        Dim command As SqlCommand

        Dim adapter As New SqlDataAdapter

        Dim ds As New DataSet

        Dim i As Integer

        Dim firstSql As String

 

 

        connetionString = "Data Source=ukwarapp02;Initial Catalog=DBSYS;User ID=sa;Password=******"

        firstSql = "select * from Gantt"

 

        connection = New SqlConnection(connetionString)

 

 

        connection.Open()

 

        command = New SqlCommand(firstSql, connection)

        adapter.SelectCommand = command

        adapter.Fill(ds, "Tasks")

 

        adapter.Dispose()

        command.Dispose()

        connection.Close()

 

 

        Dim theDataSet As New DataSet()

        Dim projectKey As String = "projectKey"

 

        Dim theProjects As DataTable = theDataSet.Tables.Add("Projects")

        theProjects.Columns.Add("ProjectID")

        theProjects.Columns.Add("ProjectKey")

        theProjects.Columns.Add("ProjectName")

        theProjects.Columns.Add("ProjectStartTime", GetType(DateTime))

        ' Assign values for each Project member 

        theProjects.Rows.Add(New [Object]() {Guid.NewGuid(), projectKey, "Test", Date.Today})

 

        Dim theTasks As DataTable = theDataSet.Tables.Add("Tasks")

        theTasks.Columns.Add("TaskID")

        theTasks.Columns.Add("ProjectKey")

        theTasks.Columns.Add("TaskName")

        theTasks.Columns.Add("TaskStartTime", GetType(DateTime))

        theTasks.Columns.Add("TaskDuration", GetType(TimeSpan))

        theTasks.Columns.Add("Constraint", GetType(Object))

 

 

        'retrieve first table data

        For i = 0 To ds.Tables(0).Rows.Count - 1

            Dim _item0 As String = ds.Tables(0).Rows(i).Item(0)

            Dim _item1 As Integer = ds.Tables(0).Rows(i).Item(1)

            Dim _item2 As String = ds.Tables(0).Rows(i).Item(2)

            Dim _item3 As String = ds.Tables(0).Rows(i).Item(3)

            Dim _item4 As DateTime = ds.Tables(0).Rows(i).Item(4)

            Dim _item6 As String = ds.Tables(0).Rows(i).Item(6)

 

            ' Parent Task1

            Dim planningTaskid As Guid = Guid.NewGuid()

            ' Assign values for each Task member 

            theTasks.Rows.Add(New [Object]() {planningTaskid, projectKey, _item2, _item4, _item6, TaskConstraint.StartNoEarlierThan})

        Next

 

        Return theDataSet

    End Function

 

End Class