Imports System.Collections.Generic
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinSchedule
Imports System.Diagnostics
Public Sub InitColumnProps(ByVal control As UltraTimelineView)
' Set ColumnAutoSizing to 'AllVisibleIntervals' so that when the user auto-sizes
' the columns, the width required to show the additional interval's captions is considered
control.ColumnAutoSizing = TimelineViewColumnAutoSizing.AllVisibleIntervals
' Use the ColumnHeaderAppearance to customize the look for all headers
control.ColumnHeaderAppearance.BackColor = Color.White
control.ColumnHeaderAppearance.BackColor2 = Color.LightBlue
control.ColumnHeaderAppearance.BorderColor = Color.DarkBlue
control.ColumnHeaderAppearance.ForeColor = Color.DarkBlue
' Don't show images on the headers
control.ColumnHeaderImageVisible = False
' Only display the minutes for the primary interval, if there is
' an additional interval being displayed for the hours.
Dim hasHourInterval As Boolean = False
For Each dti As DateTimeInterval In control.VisibleIntervals
Dim timeInterval As TimeInterval = IIf(dti.GetType() Is GetType(TimeInterval), dti, Nothing)
If Not timeInterval Is Nothing AndAlso timeInterval.IntervalUnits = TimeIntervalUnits.Hours Then
hasHourInterval = True
End If
next
control.PrimaryInterval.HeaderTextFormat = IIf(hasHourInterval, "mm", Nothing)
' Orient the text for the primary interval on a diagonal
control.PrimaryInterval.HeaderTextOrientation = New TextOrientationInfo(45, TextFlowDirection.Horizontal)
' Set the ideal width for the column headers
control.PerformColumnAutoResize(TimelineViewColumnAutoSizing.AllVisibleIntervals)
End Sub