Please refer to the attached gif files. The separator ";" should be displayed when the appointment's information is displayed in a single line. Otherwise, the information should be displayed multi-line like in the OutlookSeparator.gif.
Note: you can test with different AppointmentTitleFormat.
Important: setting the Text in the AppointmentFormatting event must have higher priority than AppointmentTitleFormat!!!
Workaround:
Sub New()
InitializeComponent()
Me.RadScheduler1.ElementProvider = New MyElementProvider(Me.RadScheduler1)
Me.RadScheduler1.Appointments.Add(New Appointment(DateTime.Now, TimeSpan.FromMinutes(40), "Summary", "Description", "Location"))
End Sub
Public Class CustomAppointmentElement
Inherits AppointmentElement
Public Sub New(scheduler As RadScheduler, view As SchedulerView, appointment As IEvent)
MyBase.New(scheduler, view, appointment)
End Sub
Protected Overrides Function CreateAppointmentText() As String
Return String.Format("{0:HH:mm} - {1:HH:mm} {3} <b>{2}</b>", Me.Appointment.Start, Me.Appointment.End, _
Me.Appointment.Location, Me.Appointment.Summary)
End Function
End Class
Public Class MyElementProvider
Inherits SchedulerElementProvider
Public Sub New(scheduler As RadScheduler)
MyBase.New(scheduler)
End Sub
Protected Overrides Function CreateElement(Of T As SchedulerVisualElement)(view As SchedulerView, context As Object) As T
If GetType(T) = GetType(AppointmentElement) Then
Return TryCast(New CustomAppointmentElement(Me.Scheduler, view, DirectCast(context, IEvent)), T)
End If
Return MyBase.CreateElement(Of T)(view, context)
End Function
End Class