Imports Infragistics.Win
Imports Infragistics.Win.UltraWinSchedule
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' Add some owners to the UltraCalendarInfo's Owners collection
Me.UltraCalendarInfo1.Owners.Add("stan", "Stan Marsh")
Me.UltraCalendarInfo1.Owners.Add("kyle", "Kyle Broflovski")
Me.UltraCalendarInfo1.Owners.Add("cartman", "Eric Cartman")
Me.UltraCalendarInfo1.Owners.Add("kenny", "Kenny McCormick")
' Hide the 'unassigned owner', so that only the owners we added
' to the collection are displayed by any attached controls
Me.UltraCalendarInfo1.Owners.UnassignedOwner.Visible = False
' Associate the UltraDayView control with the UltraCalendarInfo
' that we just added the owners to
Me.UltraDayView1.CalendarInfo = Me.UltraCalendarInfo1
' Set the 'GroupingStyle' property to 'DateWithinOwner'
' so that the owner's header is displayed above the day headers
Me.UltraDayView1.GroupingStyle = DayViewGroupingStyle.DateWithinOwner
' Set the 'ColumnScrolling' property to 'GroupScrollButtonsOnly'
' so the end user can navigate between owners without the
' need for a scrollbar
Me.UltraDayView1.ColumnScrolling = DayViewColumnScrolling.GroupScrollButtonsOnly
' Set the 'AllowColumnResizing' property to true so that the
' end user can resize columns
Me.UltraDayView1.AllowColumnResizing = DefaultableBoolean.True
' Set the 'MinimumColumnWidth' property to 150 to prevent the columns
' from becoming too narrow when the user resizes them
Me.UltraDayView1.MinimumColumnWidth = 150
' Set the 'MaximumVisibleDays' property to 1 so that only one
' day is displayed at a time, regardless of the number of days
' that are selected.
Me.UltraDayView1.MaximumVisibleDays = 1
' Set the 'PreferredColumnWidth' property to 150 so the columns
' start off with that initial width
Me.UltraDayView1.PreferredColumnWidth = 150
' Set the 'ShowOwnerHeader' property to true so that the
' owners' headers are displayed
Me.UltraDayView1.ShowOwnerHeader = DefaultableBoolean.True
' Use the 'EnsureColumnInView' method to bring a particular owner
' column into view. We'll specify true for the 'forceFirst' parameter
' so that the owner is displayed in the leftmost column.
'
' Also, we'll use the 'IsColumnInView' method to determine whether the
' column is already in view before proceeding.
Dim cartman As Infragistics.Win.UltraWinSchedule.Owner
cartman = Me.UltraCalendarInfo1.Owners("cartman")
If Me.UltraDayView1.IsColumnInView(DateTime.Today, cartman) = False Then
Me.UltraDayView1.EnsureColumnInView(DateTime.Today, cartman, True)
End If
' Get the first column displayed by the control via the 'InViewColumns'
' collection. We'll use the 'InViewColumnCount' property to verify that
' we have at least one column in view.
If Me.UltraDayView1.InViewColumnCount >= 1 Then
' Get a reference to the InViewColumn
Dim column As InViewColumn = Me.UltraDayView1.InViewColumns(0)
' Display some information about the InViewColumn in the debugger's output window
Debug.WriteLine("The first in-view column's index is " + column.Index.ToString())
Debug.WriteLine("The first in-view column's logical index is " + column.LogicalIndex.ToString())
Debug.WriteLine("The first in-view column's date is " + column.Date.ToShortDateString())
Debug.WriteLine("The first in-view column's owner is '" + column.Owner.Name + "'")
End If
End Sub