5

I want to show different content to the user depending on the view he is using. For that, i customized the AppointmentTemplate and the AppointmentCreated event. I want also to show appointments with dynamic height, meaning they expand to fill the content but on days its got nothing it shrinks. Whats happening is that on MonthView, only the header is shown as in the photo:

And here is the DayView: photo

Here is the AppointmentCreated

    protected void sched_AppointmentCreated(object sender, AppointmentCreatedEventArgs e) {

        using (DBFactory link = new DBFactory()) {
            int evtID = int.Parse(e.Appointment.ID.ToString());
            if (evtID == 0) {
                evtID = SessionManager.Instance.LastInsertedCalendarEventID;
            }
            CalendarEvent ce = link.GetCalendarEvent(evtID);

            Label lblHeader = (Label)e.Container.FindControl("lblHeader");
            Label lblDescription = (Label)e.Container.FindControl("lblDescription");
            Label lbldates = (Label)e.Container.FindControl("lbldates");
            Label lblParticipants = (Label)e.Container.FindControl("lblParticipants");
            Label lblLocale = (Label)e.Container.FindControl("lbllocale");


            switch (sched.SelectedView) {

                case SchedulerViewType.DayView: 
                    lblLocale.Text = string.Format("{0}", ce.EventLocation1.Location);
                    lblHeader.Text = string.Format("{0} - {1} ", ce.EventType1.EventTypeName, ce.Subject);
                    lblDescription.Text = string.Format("{0}", ce.Description);
                    lbldates.Text = string.Format("{0:hh:mm}h - {1:hh:mm}h", ce.StartDate, ce.EndDate);
                    lblParticipants.Text = string.Format("{0}", link.GetUsernamesFromEvent(evtID));  
                break;

                case SchedulerViewType.WeekView:
                case SchedulerViewType.MonthView: 
                    lblLocale.Text = string.Format("{0}", ce.EventLocation1.Location);
                    lblHeader.Text = string.Format("{0} - {1} ", ce.EventType1.EventTypeName, ce.Subject);
                    lblDescription.Text = string.Format("{0}", ce.Description);
                    lbldates.Text = string.Format("{0:hh:mm}h - {1:hh:mm}h", ce.StartDate, ce.EndDate);
                    lblParticipants.Text = string.Format("{0}", link.GetInitialsFromEvent(evtID));
                break;

            }
        }
    }

and here is the complete markup

            <tk:RadScheduler ID="sched" runat="server" AppointmentStyleMode="Default" DayEndTime="19:00:00" AllowInsert="true" AllowEdit="true" AllowDelete="true"
                EnableDescriptionField="True" FirstDayOfWeek="Monday" LastDayOfWeek="Friday"
                ShowNavigationPane="true" ShowFooter="False" StartEditingInAdvancedForm="true"
                StartInsertingInAdvancedForm="true" Height="551px"
                OnFormCreated="sched_FormCreated"
                OnAppointmentCommand="sched_AppointmentCommand"
                OnAppointmentCreated="sched_AppointmentCreated"
                OnAppointmentDataBound="sched_AppointmentDataBound" 
                Skin="Web20">
                <MonthView  AdaptiveRowHeight="true" MinimumRowHeight="50" VisibleAppointmentsPerDay="30"/>
                <AdvancedForm Modal="true" />
                <ExportSettings OpenInNewWindow="true" FileName="SchedulerExport">
                    <Pdf PageTitle="Schedule" Author="Telerik" Creator="Telerik" Title="Schedule"></Pdf>
                </ExportSettings>
                <TimelineView UserSelectable="false" />
                 <AppointmentContextMenuSettings EnableDefault="true" />
                <TimeSlotContextMenuSettings EnableDefault="true" />
                <TimeSlotContextMenus>
                    <tk:RadSchedulerContextMenu ID="SchedulerTimeSlotContextMenu" runat="server">
                       <Items>
                           <tk:RadMenuItem Text="New Appointment" Value="CommandAddAppointment" />
                        </Items>
                    </tk:RadSchedulerContextMenu>
                </TimeSlotContextMenus>
                <AppointmentContextMenus>
                    <tk:RadSchedulerContextMenu runat="server" ID="ContextMenu1">
                        <Items>
                            <%--<tk:RadMenuItem Text="Ir para dia" Value="CommandNavigateDay" />--%>
                            <tk:RadMenuItem Text="Editar" Value="CommandEdit" />
                            <tk:RadMenuItem Text="Apagar" Value="CommandDelete" />
                            <%--<tk:RadMenuItem Text="Exportar Para PPF" Value="CommandExport"></tk:RadMenuItem>--%>
                        </Items>
                    </tk:RadSchedulerContextMenu>
                </AppointmentContextMenus>
                <AppointmentTemplate>
                    <asp:Label runat="server" ID="lblHeader" Font-Bold="true" />
                    <hr />
                    <table border="0">
                        <tr>
                            <td style=" border-color:transparent;"><span style="font-weight:bold;">Descricao: </span></td>
                            <td style=" border-color:transparent;"><asp:Label ID="lblDescription" runat="server" /></td>
                        </tr>
                        <tr>
                            <td  style=" border-color:transparent;"><span style="font-weight:bold;">Participantes: </span></td>
                            <td  style=" border-color:transparent;"><asp:Label ID="lblParticipants" runat="server" /></td>
                        </tr>
                        <tr>
                            <td  style=" border-color:transparent;"><span style="font-weight:bold;">Duracao: </span></td>
                            <td  style=" border-color:transparent;"><asp:Label ID="lblDates" runat="server" /></td>
                        </tr>
                        <tr>
                            <td  style=" border-color:transparent;"><span style="font-weight:bold;">Local: </span></td>
                            <td  style=" border-color:transparent;"><asp:Label ID="lblLocale" runat="server" /></td>
                        </tr>
                    </table>
                </AppointmentTemplate>
                <AdvancedInsertTemplate>
                    <div class="rsAdvancedEdit rsAdvancedModal" style="position: relative; margin-right: -100px">
                        <div class="rsModalBgTopLeft"></div>
                        <div class="rsModalBgTopRight"></div>
                        <div class="rsModalBgBottomLeft"></div>
                        <div class="rsModalBgBottomRight"></div>
                        <div class="rsAdvTitle">
                            <h1 class="rsAdvInnerTitle"><%# Container.Appointment.Owner.Localization.AdvancedNewAppointment %></h1>
                            <asp:LinkButton runat="server" ID="LinkButton1" CssClass="rsAdvEditClose"
                                CommandName="Cancel" CausesValidation="false" ToolTip='<%# Container.Appointment.Owner.Localization.AdvancedClose %>'>
                                        <%# Container.Appointment.Owner.Localization.AdvancedClose%>
                            </asp:LinkButton>
                        </div>
                        <div class="rsAdvContentWrapper" style="background-color: #ffffff;">
                            <table border="0">
                                <tr>
                                    <td>
                                        <asp:Label runat="server" Text="Sumário" ID="lblSummaryHdr" /></td>
                                    <td colspan="3">
                                        <asp:TextBox ID="txtSubject" runat="server" CssClass="textbox" Columns="60" Text='<%# Bind("Subject") %>' /></td>
                                    <td>
                                        <asp:Label ID="TextBox1" runat="server" Text='<%# Bind("ID") %>' Visible="false" /></td>
                                </tr>
                                <tr>
                                    <td>Descrição</td>
                                    <td colspan="3">
                                        <asp:TextBox ID="txtDescription" CssClass="textbox" Columns="60" runat="server" Text='<%# Bind("Description") %>'></asp:TextBox><br />
                                    </td>
                                </tr>
                                <tr>
                                    <td>Inicío</td>
                                    <td>
                                        <tk:RadDateTimePicker ID="startInput" SelectedDate='<%# Bind("Start") %>' runat="server"></tk:RadDateTimePicker>
                                    </td>
                                    <td>Fim</td>
                                    <td>
                                        <tk:RadDateTimePicker ID="finishInput" SelectedDate='<%# Bind("End") %>' runat="server"></tk:RadDateTimePicker>
                                    </td>
                                </tr>
                                <tr>
                                    <td>Tipo</td>
                                    <td>
                                        <tk:RadComboBox ID="ddlEventType" runat="server" CssClass="combo" />
                                    </td>
                                    <td>Sala</td>
                                    <td>
                                        <tk:RadComboBox ID="ddlLocations" runat="server" CssClass="combo" />
                                    </td>
                                </tr>
                                <tr>
                                    <td>Grupos</td>
                                    <td>
                                        <tk:RadComboBox ID="ddlGroups" runat="server" CssClass="combo" CheckBoxes="true" EnableCheckAllItemsCheckBox="true" />
                                    </td>
                                    <td>Usuários</td>
                                    <td>
                                        <tk:RadComboBox ID="ddlUsers" runat="server" CssClass="combo" CheckBoxes="true" EnableCheckAllItemsCheckBox="true" />
                                    </td>
                                </tr>
                            </table>
                            <asp:Panel runat="server" ID="Panel1" CssClass="rsAdvancedSubmitArea">
                                <div class="rsAdvButtonWrapper">
                                    <asp:LinkButton CommandName="Insert" runat="server" ID="LinkButton2" CssClass="rsAdvEditSave">
                                                <span><%# Container.Appointment.Owner.Localization.Save%></span>
                                    </asp:LinkButton>
                                    <asp:LinkButton runat="server" ID="LinkButton3" CssClass="rsAdvEditCancel" CommandName="Cancel" CausesValidation="false">
                                                <span><%# Container.Appointment.Owner.Localization.Cancel%></span>
                                    </asp:LinkButton>
                                </div>
                            </asp:Panel>
                        </div>
                    </div>
                </AdvancedInsertTemplate>
                <AdvancedEditTemplate>
                    <div class="rsAdvancedEdit rsAdvancedModal" style="position: relative; margin-right: -100px">
                        <div class="rsModalBgTopLeft"></div>
                        <div class="rsModalBgTopRight"></div>
                        <div class="rsModalBgBottomLeft"></div>
                        <div class="rsModalBgBottomRight"></div>
                        <div class="rsAdvTitle">
                            <h1 class="rsAdvInnerTitle"><%# Container.Appointment.Owner.Localization.AdvancedEditAppointment %></h1>
                            <asp:LinkButton runat="server" ID="LinkButton4" CssClass="rsAdvEditClose"
                                CommandName="Cancel" CausesValidation="false" ToolTip='<%# Container.Appointment.Owner.Localization.AdvancedClose %>'>
                                    <%# Container.Appointment.Owner.Localization.AdvancedClose%>
                            </asp:LinkButton>
                        </div>
                        <div class="rsAdvContentWrapper" style="background-color: #ffffff;">
                            <table>
                                <tr>
                                    <td>Sumário</td>
                                    <td colspan="3">
                                        <asp:TextBox ID="txtSubject" runat="server" CssClass="textbox" Columns="60" Text='<%# Bind("Subject") %>' /></td>
                                </tr>
                                <tr>
                                    <td>Descrição</td>
                                    <td colspan="3">
                                        <asp:TextBox ID="txtDescription" CssClass="textbox" Columns="60" runat="server" Text='<%# Bind("Description") %>'></asp:TextBox><br />
                                    </td>
                                </tr>
                                <tr>
                                    <td>Inicío</td>
                                    <td>
                                        <tk:RadDateTimePicker ID="RadDateTimePicker1" SelectedDate='<%# Bind("Start") %>' runat="server"></tk:RadDateTimePicker>
                                    </td>
                                    <td>Fim</td>
                                    <td>
                                        <tk:RadDateTimePicker ID="RadDateTimePicker2" SelectedDate='<%# Bind("End") %>' runat="server"></tk:RadDateTimePicker>
                                    </td>
                                </tr>
                                <tr>
                                    <td>Tipo</td>
                                    <td>
                                        <tk:RadComboBox ID="RadComboBox1" runat="server" CssClass="combo" />
                                    </td>
                                    <td>Sala</td>
                                    <td>
                                        <tk:RadComboBox ID="ddlLocations" runat="server" CssClass="combo" />
                                    </td>
                                </tr>
                                <tr>
                                    <td>Grupos</td>
                                    <td>
                                        <tk:RadComboBox ID="RadComboBox3" runat="server" CssClass="combo" CheckBoxes="true" EnableCheckAllItemsCheckBox="true" />
                                    </td>
                                    <td>Usuários</td>
                                    <td>
                                        <tk:RadComboBox ID="RadComboBox4" runat="server" CssClass="combo" CheckBoxes="true" EnableCheckAllItemsCheckBox="true" />
                                    </td>
                                </tr>
                                <tr>
                                    <td>Privado</td>
                                    <td colspan="3">
                                        <asp:CheckBox runat="server" ID="CheckBox1" AutoPostBack="false" Checked="false" />
                                    </td>
                                </tr>
                            </table>
                            <asp:Panel runat="server" ID="Panel2" CssClass="rsAdvancedSubmitArea">
                                <div class="rsAdvButtonWrapper">
                                    <asp:LinkButton CommandName="Update" runat="server" ID="LinkButton5" CssClass="rsAdvEditSave">
                                            <span><%# Container.Appointment.Owner.Localization.Save%></span>
                                    </asp:LinkButton>
                                    <asp:LinkButton runat="server" ID="LinkButton6" CssClass="rsAdvEditCancel" CommandName="Cancel" CausesValidation="false">
                                            <span><%# Container.Appointment.Owner.Localization.Cancel%></span>
                                    </asp:LinkButton>
                                </div>
                            </asp:Panel>
                        </div>
                    </div>
                </AdvancedEditTemplate>
            </tk:RadScheduler>
sergio
  • 1,026
  • 2
  • 19
  • 43

1 Answers1

0

There is a KB article on this found on the telerik site:

http://www.telerik.com/support/kb/aspnet-ajax/scheduler/auto-expand-the-height-of-the-appointment.aspx

Brent
  • 1