Hello,
I am attempting to display the appointments created by a radscheduler on the radcalendar (simply by highlighting the day on the calendar and populating the tooltip). It appears that there is no clear way to integrate the scheduler with the calendar. The reason this is difficult is because of the recurring requests. The radscheduler receives a pattern and does all the work for you. To highlight the days on a radcalendar, I don't want to have to parse the pattern myself. My idea was...to create an invisible radscheduler, populate it, and in some appointment rendering event, create a list of appointments to display in the calendar. So far my problem is, I can't find the right event...radSched_AppointmentDataBound does not fire for every appointment in a recurrence, just the first run. Below is an example of what I was attempting in the AppointmentDataBound event.
protected void radSched_AppointmentDataBound(object sender, SchedulerEventArgs e) { RadCalendarDay rcd = new RadCalendarDay(); CalendarEventItems cei; rcd.Date = e.Appointment.Start; rcd.ToolTip = e.Appointment.Subject; rcd.ItemStyle.BackColor = System.Drawing.Color.Red; if (DateTime.Now < rcd.Date) { cei = new CalendarEventItems(); cei.EventStartDateTime = e.Appointment.Start; cei.EventName = e.Appointment.Subject; cei.EventEndDateTime = e.Appointment.End; cei.EventDescription = e.Appointment.Description; lsUpcomingEvents.Add(cei); } radCal.SpecialDays.Add(rcd); }
Is there a different event or strategy I can use to grab each appointment for a given month? Is there some other way I can integrate the radscheduler into a radcalendar? Somebody else has had to have had this idea before...
Private Sub gvAvailableTasks_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvAvailableTasks.RowDataBound If Not gvAvailableTasks.SelectedRow Is Nothing Then If gvAvailableTasks.SelectedRow.ID = e.Row.ID Then Exit Sub End If End If If e.Row.RowType = DataControlRowType.DataRow Then Dim dd As DateTime dd = CType(e.Row.Cells(6).Text, DateTime) If dd < Date.Now Then e.Row.Cells(6).BackColor = Drawing.Color.Red Else If DateDiff(DateInterval.Hour, Date.Now, dd) < 5 Then e.Row.Cells(6).BackColor = Drawing.Color.Orange ElseIf DateDiff(DateInterval.Hour, Date.Now, dd) < 9 Then e.Row.Cells(6).BackColor = Drawing.Color.Yellow End If End If ' Alert message Dim s As String = e.Row.Cells(5).Text If s.Trim <> " " And s.Trim <> "" Then e.Row.Cells(5).BackColor = Drawing.Color.Yellow End If End If End Sub
| <telerik:RadScheduler ID="RadScheduler2" runat="server" DataEndField="DutyEnd" |
| DataKeyField="Id" DataStartField="DutyStart" CustomAttributeNames="HoursPerDay" |
| DataSubjectField="Date" |
| onappointmentcommand="RadScheduler2_AppointmentCommand" |
| onappointmentdatabound="RadScheduler2_AppointmentDataBound" |
| onformcreated="RadScheduler2_FormCreated"> |
| <AppointmentTemplate> |
| <asp:Label Text='<%# Bind("HoursPerDay") %>' runat="server" ID="lblTest"></asp:Label><br /> |
| <asp:Label Text="This is a test2" runat="server" ID="Label8"></asp:Label><br /> |
| <asp:Label Text="This is a test3" runat="server" ID="Label9"></asp:Label><br /> |
| <asp:Label Text="This is a test4" runat="server" ID="Label10"></asp:Label><br /> |
| <asp:Label Text="This is a test5" runat="server" ID="Label11"></asp:Label><br /> |
| </AppointmentTemplate> |
| </telerik:RadScheduler> |
On code behind I'm able to set the value as shown below.
| protected void RadScheduler2_AppointmentDataBound(object sender, SchedulerEventArgs e) |
| { |
| e.Appointment.Attributes["HoursPerDay"] = "Value from DB"; |
| } |

I've tried everything, can't seem to get the value of a EditItemTemplate that holds a radComboBox. I have my grid setup like this:
<telerik:RadGrid ID="RadGrid1" GridLines="Both" AutoGenerateColumns="False"
AllowPaging="True" AllowSorting="True" runat="server" OnItemDataBound="OnItemDataBoundHandler"
OnInsertCommand="RadGrid1_InsertCommand" OnItemCreated="RadGrid1_ItemCreated"
DataSourceID="DeliverableDataSource" AllowAutomaticUpdates="False" AllowAutomaticInserts="False" AllowAutomaticDeletes="false"
ShowStatusBar="True" CellSpacing="0" OnUpdateCommand="RadGrid1_UpdateCommand" OnDeleteCommand="RadGrid1_DeleteCommand" Width="900px">
<MasterTableView ShowFooter="false" EditMode="InPlace" CommandItemDisplay="Top">
<CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings>
<RowIndicatorColumn Visible="True" FilterControlAltText="Filter RowIndicator column"></RowIndicatorColumn>
<ExpandCollapseColumn Visible="True" FilterControlAltText="Filter ExpandColumn column"></ExpandCollapseColumn>
<Columns>
<telerik:GridBoundColumn DataField="DeliverableID" DataType="System.Int32" Visible="false" FilterControlAltText="Filter DeliverableID column" HeaderText="DeliverableID" ReadOnly="True" SortExpression="DeliverableID" UniqueName="DeliverableID">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn HeaderText="Deliverable Type" HeaderStyle-Font-Bold="true" ItemStyle-Width="240px">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "DeliverableType")%>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox runat="server" EnableLoadOnDemand="true" ID="cmbType" DataTextField="DeliverableTypeDesc"
DataValueField="DeliverableTypeDesc" DataSourceID="DeliverableTypeDataSource" SelectedValue='<%#Bind("DeliverableType") %>'>
</telerik:RadComboBox>
</EditItemTemplate>
<HeaderStyle Font-Bold="True" />
<ItemStyle Width="140px" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Deliverable User" ItemStyle-Width="240px" HeaderStyle-Font-Bold="true">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "DeliverableUser")%>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox runat="server" ID="cmbUser" DataTextField="UserName" SelectedValue='<%#Bind("DeliverableUser") %>'
DataValueField="UserName" DataSourceID="UserDataSource">
</telerik:RadComboBox>
</EditItemTemplate>
<HeaderStyle Font-Bold="True" />
<ItemStyle Width="140px" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn DataField="Verdict" HeaderText="Verdict" HeaderStyle-Font-Bold="true" UniqueName="Verdict">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "Verdict")%>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox runat="server" ID="cmbVerdict" SelectedValue='<%#Bind("Verdict") %>'>
<Items>
<telerik:RadComboBoxItem Text=" " Value=" " />
<telerik:RadComboBoxItem Text="Accepted" Value="Accepted" />
<telerik:RadComboBoxItem Text="Rejected" Value="Rejected" />
</Items>
</telerik:RadComboBox>
</EditItemTemplate>
<HeaderStyle Font-Bold="True" />
<ItemStyle Width="100px" />
</telerik:GridTemplateColumn>
<telerik:GridEditCommandColumn FooterText="EditCommand footer" UniqueName="EditCommandColumn" ButtonType="ImageButton" EditImageUrl="~/Images/DeviationEdit.png"
HeaderText="" HeaderStyle-Width="80px" UpdateText="Save" UpdateImageUrl="~/Images/DeviationSave.jpg" CancelImageUrl="~/Images/DeviationCancel.jpg" InsertImageUrl="~/Images/DeviationSave.jpg">
<HeaderStyle Width="50px" />
</telerik:GridEditCommandColumn>
<telerik:GridButtonColumn Text="Delete" CommandName="Delete" ImageUrl="~/Images/DeviationDelete.jpg" ButtonType="ImageButton" UniqueName="deleteColumn">
<HeaderStyle Width="30px"></HeaderStyle>
</telerik:GridButtonColumn>
</Columns>
<EditFormSettings>
<EditColumn UniqueName="EditCommandColumn1" FilterControlAltText="Filter EditCommandColumn1 column"></EditColumn>
</EditFormSettings>
</MasterTableView>
<FilterMenu EnableImageSprites="False"></FilterMenu>
</telerik:RadGrid>