I'm trying to migrate to the RadScheduler from anther calendar control. I have everthing displaying fine, but am struggling with what should be some pretty simple events.
Instead of using the integrated appointment edit process I need to redirect to one of my own pages for editing an appointment, this is due to my appointments being extremely complex and not really fitting in the popup window. I'm able to get this working via your appointment_click event.
However I also need to know if they move an appointment via dragging, on the server I need to know that the drag occured, the id of the appointment, and the new start/end times. Does this event exist?
Finally if they click on a time period to create an event I need to know that this occured and the time period selected, any event?
Sorry to be a pain
<%@ Page Language="C#" AutoEventWireup="false" CodeBehind="ClassSessionEditor.aspx.cs" EnableViewState="true" Inherits="HSTM.HLC.Web.UI.ClassSessionEditor" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <%@ Register TagPrefix="hstm" Namespace="HSTM.HLC.Web.UI.WebControls" Assembly="HLC" %> <%@ Register TagPrefix="radc" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> <%@ Register Assembly="DayPilot" Namespace="DayPilot.Web.Ui" TagPrefix="DayPilot" %> <%@ Register TagPrefix="uc1" TagName="ListSelector" Src="~/Common/Controls/ListSelector.ascx" %> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title>Class Session Editor</title> <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema"> <asp:Literal ID="styleSheet" runat="Server"></asp:Literal> <link href="/HLC/CSS/site2.css" type="text/css" rel="stylesheet" /> <script type="text/javascript" src="/HLC/Scripts/jquery-1.4.2.min.js"></script> <script language="javascript" type="text/javascript"src="/HLC/Admin/Education/Scripts/ClassroomCalendar.js"></script> </head> <body id="hclBody" runat="server"> <form id="Form1" method="post" runat="server"> <radc:RadCodeBlock ID="RadCodeBlock1" runat="server"> <script type="text/javascript" language="javascript"> function ChangeDate() { var combo = $find("<%= rSDT.ClientID %>"); var combo1 = $find("<%= rEDT.ClientID %>"); var radStart = "<%= rSDT.ClientID %>"; var radEnd = "<%= rEDT.ClientID %>"; var startDateBox = document.getElementById("<%=tSDT.ClientID%>"); var endDateBox = document.getElementById("<%=tEDT.ClientID%>"); var inputEnd = document.getElementById(radEnd + "_Input"); var inputStart = document.getElementById(radStart + "_Input"); var timeFormat = "^(1|01|2|02|3|03|4|04|5|05|6|06|7|07|8|08|9|09|10|11|12{1,2}):(([0-5] {1}[0-9]{1}\s{0,1})( [AM|PM]{2,2}))\W{0}$"; LoadComboControl(combo, combo1, radStart, radEnd); LoadDateText(startDateBox, endDateBox); if (startDateBox.value.length > 0 && inputStart.value.length > 0 && endDateBox.value.length > 0 && inputEnd.value.length > 0) { var re = new RegExp(timeFormat); if (re.test(inputStart.value) && re.test(inputEnd.value)) { var startDate = startDateBox.value + " " + inputStart.value; var endDate = endDateBox.value + " " + inputEnd.value; dps1.clientState = { "datechange": startDate + "|" + endDate + "|" + $("#rTZ").val() }; dps1.commandCallBack("datechange"); } } } function pageLoad() { var treeView = $find("<%= rtv.ClientID %>"); var allNodes = treeView.get_allNodes(); var isChecked = false; for (var i = 0; i < allNodes.length; i++) { if (allNodes[i].get_checked()) { isChecked = true; break; } } document.getElementById("divRoomsSection").disabled = document.getElementById("divSimulatorSection").disabled = document.getElementById("divInstructorSection").disabled = document.getElementById("divEquipmentSection").disabled = document.getElementById("imgRooms").disabled = document.getElementById("imgSimulator").disabled = document.getElementById("imgInstructorApp").disabled = document.getElementById("imgEquipment").disabled = !isChecked; } function collapseResources() { var treeView = $find("<%= rtv.ClientID %>"); var allNodes = treeView.get_allNodes(); var isChecked = false; for (var i = 0; i < allNodes.length; i++) { if (allNodes[i].get_checked()) { isChecked = true; break; } } if (!isChecked) { collapseControls(document.getElementById("imgRooms")); collapseControls(document.getElementById("imgSimulator")); collapseControls(document.getElementById("imgInstructorApp")); collapseControls(document.getElementById("imgEquipment")); } return false; } function collapseControls(imgControl) { if ($(imgControl).attr('src') != null) { if ($(imgControl).attr('src').indexOf('iconXSM_Collapse.gif') > -1) { $(imgControl).parent().parent().parent().find('.divs').toggle(500); var imageCollapse = $(imgControl).attr('src').replace('iconXSM_Collapse.gif', 'iconXSM_Expand.gif'); $(imgControl).attr('src', imageCollapse); $(imgControl).attr('alt', 'Expand Section'); $(imgControl).attr('title', 'Expand Section'); } } } </script> </radc:RadCodeBlock> <div class="occ brdr"> <hstm:FeatureTitle ID="featureTitle" Title="Class Session Editor" runat="server" SubTitle="Resource Scheduling" TitleImageUrl="/HLC/Images/iconLG_Calendar.png"> </hstm:FeatureTitle> <hstm:ValidationSummary ID="vSS" ValidationGroup="1" runat="server"></hstm:ValidationSummary> <radc:RadScriptManager ID="rsm" runat="server" EnablePartialRendering="true" /> <radc:RadWindowManager ID="rWM" runat="server" EnableViewState="true"> </radc:RadWindowManager> <radc:RadStyleSheetManager ID="RadStyleSheetManager" runat="server" /> <radc:RadAjaxManager runat="Server" ID="RadAjaxManager1"> <AjaxSettings> <radc:AjaxSetting AjaxControlID="rtv"> <UpdatedControls> <radc:AjaxUpdatedControl ControlID="lstRooms" /> <radc:AjaxUpdatedControl ControlID="lstEquipments" /> <radc:AjaxUpdatedControl ControlID="lstIAs" /> <radc:AjaxUpdatedControl ControlID="lstSimulator" /> <radc:AjaxUpdatedControl ControlID="rtv" LoadingPanelID="ralp" /> </UpdatedControls> </radc:AjaxSetting> </AjaxSettings> </radc:RadAjaxManager> <radc:RadAjaxLoadingPanel ID="ralp" runat="server" Skin="Default" EnableSkinTransparency="true" Transparency="10" /> <div> <radc:RadSplitter runat="server" ID="rs" PanesBorderSize="0" Width="100%" Height="620px" Skin="Default"> <radc:RadPane runat="Server" ID="lp" Width="250px" MinWidth="250"> <div> <div class="mt5"> <div> <div> <div class="tss"> <img src="/HLC/Images/iconXSM_Collapse.gif" class="toggle pointer" alt="Institution/Buildings Tree Section" title="Institution/Buildings Tree" /><b>Buildings</b> </div> <div class="grid_10 mt5"> <div class="divs toggledOff sec-content add-info"> <radc:RadAjaxPanel LoadingPanelID="ralp" runat="server"> <radc:RadTreeView ID="rtv" runat="server"EnableViewState="true" CheckBoxes="True" TriStateCheckBoxes="true" Height="250"CheckChildNodes="true" Width="220" OnNodeCheck="rtv_NodeCheck" Skin="Default"OnClientNodeChecked="collapseResources" LoadingMessage="" CssClass="tss brdr" Font-Size="80%" Font- Names="Trebuchet,Tahoma,Verdana"> </radc:RadTreeView> </radc:RadAjaxPanel> </div> </div> </div> </div> </div> <div class="clear"> </div> <div class="mt5" id="divRoomsSection"> <div> <div> <div class="tss"> <img src="/HLC/Images/iconXSM_Collapse.gif" class="toggle toggleOnLoad pointer" alt="Rooms Section" title="Rooms" id="imgRooms" /><b>Rooms</b> </div> <div class="grid_10 mt5"> <div class="divs sec-content add-info"> <asp:UpdatePanel ID="updatePanelRooms"UpdateMode="Conditional" runat="server"> <ContentTemplate> <div class="grid_5 alpha"> <asp:CheckBox runat="server"ID="chkCheckAllRooms" AutoPostBack="true" Text="Select All" CssClass="tss"/> </div> <div class="grid_5 prefix_5 omega r"style="float:right;"> <asp:Button ID="btnAddResourceRooms"runat="server" Text="Add to Calendar" CssClass="tss" /> </div> <div class="clear"> </div> <uc1:ListSelector ID="lstRooms" Width="220"runat="server" DataTextField="Value" DisplayTitleBar="false" DataValueField="Key"CssClass="tss brdr"></uc1:ListSelector> </ContentTemplate> <Triggers> <asp:AsyncPostBackTriggerControlID="btnAddResourceRooms" EventName="Click" /> <asp:AsyncPostBackTriggerControlID="btnAddResourceSimulator" EventName="Click" /> <asp:AsyncPostBackTriggerControlID="btnAddResourceDevice" EventName="Click" /> <asp:AsyncPostBackTriggerControlID="btnAddResourceEquipment" EventName="Click" /> <asp:AsyncPostBackTriggerControlID="chkCheckAllRooms" EventName="CheckedChanged" /> </Triggers> </asp:UpdatePanel> </div> </div> </div> </div> </div> <div class="clear"> </div> <div class="mt5" id="divSimulatorSection"> <div> <div> <div class="tss"> <img src="/HLC/Images/iconXSM_Collapse.gif" class="toggle toggleOnLoad pointer" alt="Simulator Section" title="Simulator" id="imgSimulator" /><b>Simulator</b> </div> <div class="grid_10 mt5"> <div class="divs sec-content add-info"> <asp:UpdatePanel ID="updatePanelSimulator"UpdateMode="Conditional" runat="server"> <ContentTemplate> <div class="grid_5 alpha"> <asp:CheckBox runat="server"ID="chkCheckAllSimulator" AutoPostBack="true" Text="Select All" CssClass="tss" /> </div> <div class="grid_5 prefix_5 omega r"style="float:right;"> <asp:Button ID="btnAddResourceSimulator"runat="server" Text="Add to Calendar" CssClass="tss" /> </div> <div class="clear"> </div> <uc1:ListSelector ID="lstSimulator" Width="220"runat="server" DataTextField="Value" DisplayTitleBar="false" DataValueField="Key"CssClass="tss brdr"></uc1:ListSelector> </ContentTemplate> <Triggers> <asp:AsyncPostBackTriggerControlID="btnAddResourceRooms" EventName="Click" /> <asp:AsyncPostBackTriggerControlID="btnAddResourceSimulator" EventName="Click" /> <asp:AsyncPostBackTriggerControlID="btnAddResourceDevice" EventName="Click" /> <asp:AsyncPostBackTriggerControlID="btnAddResourceEquipment" EventName="Click" /> <asp:AsyncPostBackTriggerControlID="chkCheckAllSimulator" EventName="CheckedChanged" /> </Triggers> </asp:UpdatePanel> </div> </div> </div> </div> </div> <div class="clear"> </div> <div class="mt5" id="divInstructorSection"> <div> <div> <div class="tss"> <img src="/HLC/Images/iconXSM_Collapse.gif" class="toggle toggleOnLoad pointer" alt="Instructor App or SimPad Section" title="Instructor App or SimPad" id="imgInstructorApp"/><b>Instructor App or SimPad</b> </div> <div class="grid_10 mt5"> <div class="divs sec-content add-info"> <asp:UpdatePanel ID="updatePanelIAs" UpdateMode="Conditional"runat="server"> <ContentTemplate> <div class="grid_5 alpha"> <asp:CheckBox runat="server"ID="chkCheckAllDevice" AutoPostBack="true" Text="Select All" CssClass="tss" /> </div> <div class="grid_5 prefix_5 omega r"style="float:right;"> <asp:Button ID="btnAddResourceDevice"runat="server" Text="Add to Calendar" CssClass="tss" /> </div> <div class="clear"> </div> <uc1:ListSelector ID="lstIAs" Width="220"runat="server" DataTextField="Value" DisplayTitleBar="false" DataValueField="Key" CssClass="tss brdr"></uc1:ListSelector> </ContentTemplate> <Triggers> <asp:AsyncPostBackTriggerControlID="btnAddResourceRooms" EventName="Click" /> <asp:AsyncPostBackTriggerControlID="btnAddResourceSimulator" EventName="Click" /> <asp:AsyncPostBackTriggerControlID="btnAddResourceDevice" EventName="Click" /> <asp:AsyncPostBackTriggerControlID="btnAddResourceEquipment" EventName="Click" /> <asp:AsyncPostBackTriggerControlID="chkCheckAllDevice" EventName="CheckedChanged" /> </Triggers> </asp:UpdatePanel> </div> </div> </div> </div> </div> <div class="clear"> </div> <div class="mt5" id="divEquipmentSection"> <div> <div> <div class="tss"> <img src="/HLC/Images/iconXSM_Collapse.gif" class="toggle toggleOnLoad pointer" alt="Equipment Section" title="Equipment" id="imgEquipment" /><b>Equipment</b> </div> <div class="grid_10 mt5"> <div class="divs sec-content add-info"> <asp:UpdatePanel ID="updatePanelEquipments"UpdateMode="Conditional" runat="server"> <ContentTemplate> <div class="grid_5 alpha"> <asp:CheckBox runat="server"ID="chkCheckAllEquipment" AutoPostBack="true" Text="Select All" CssClass="tss" /> </div> <div class="grid_5 prefix_5 omega r"style="float:right;"> <asp:Button ID="btnAddResourceEquipment"runat="server" Text="Add to Calendar" CssClass="tss" /> </div> <div class="clear"> </div> <uc1:ListSelector ID="lstEquipments" Width="220"runat="server" DataTextField="Value" DisplayTitleBar="false" DataValueField="Key"CssClass="tss brdr"></uc1:ListSelector> </ContentTemplate> <Triggers> <asp:AsyncPostBackTriggerControlID="btnAddResourceRooms" EventName="Click" /> <asp:AsyncPostBackTriggerControlID="btnAddResourceSimulator" EventName="Click" /> <asp:AsyncPostBackTriggerControlID="btnAddResourceDevice" EventName="Click" /> <asp:AsyncPostBackTriggerControlID="btnAddResourceEquipment" EventName="Click" /> <asp:AsyncPostBackTriggerControlID="chkCheckAllEquipment" EventName="CheckedChanged" /> </Triggers> </asp:UpdatePanel> </div> </div> </div> </div> </div> <div class="clear"> </div> </div> </radc:RadPane> <radc:RadSplitBar runat="server" ID="rsb" CollapseMode="Forward" EnableResize="true" /> <radc:RadPane runat="Server" ID="rp" Scrolling="None" Height="900px" Width="100%"> <div> <div class="clear"> </div> <div class="ef brdr" style="width: 680px; white-space: nowrap;"> <table class="tss"> <tr valign="top"> <td style="width: 10%; white-space: nowrap;"> Start Date Time:<img src="/HLC/Images/requiredStar.gif" /> </td> <td style="width: 20%; white-space: nowrap;"> <hstm:Calendar ID="tSDT" Width="100px" runat="server"ViewMode="MonthDayYear" onblur="ChangeDate();" ></hstm:Calendar> <asp:RequiredFieldValidator ID="rfSDT" runat="server"ValidationGroup="1" ControlToValidate="tSDT" Display="Dynamic"><img alt="Start date is required."src="/HLC/Images/iconSM_errorc.gif" /></asp:RequiredFieldValidator> <asp:RegularExpressionValidator ID="reSDT" ValidationGroup="1"runat="server" ControlToValidate="tSDT" Display="Dynamic"><img alt="Start date must be a valid date."src="/HLC/Images/iconSM_errorc.gif" /> </asp:RegularExpressionValidator> <radc:RadComboBox ID="rSDT" runat="server" Width="80px"Height="170px" NoWrap="true" MarkFirstMatch="True" AllowCustomText="true" Skin="Default"EnableEmbeddedSkins="true" OnClientTextChange="ChangeDate" OnClientBlur="ChangeDate"OnClientSelectedIndexChanged="ChangeDate"> </radc:RadComboBox> <asp:CustomValidator ClientValidationFunction="ValidateStartTime"runat="server" ID="rcSDT" ControlToValidate="rSDT" ValidationGroup="1"Display="Dynamic"> <img alt="Start time must be a valid 12 hour time." src="/HLC/Images/iconSM_errorc.gif" /> </asp:CustomValidator> </td> <td style="width: 10%; white-space: nowrap;"> End Date Time:<img src="/HLC/Images/requiredStar.gif" /> </td> <td style="width: 20%; white-space: nowrap;"> <hstm:Calendar ID="tEDT" Width="100px" runat="server"onblur="ChangeDate();" ></hstm:Calendar> <asp:RequiredFieldValidator ID="rfEDT" ValidationGroup="1"runat="server" ControlToValidate="tEDT" Display="Dynamic"><img alt="End date is required."src="/HLC/Images/iconSM_errorc.gif" /></asp:RequiredFieldValidator> <asp:RegularExpressionValidator ValidationGroup="1" ID="reEDT"runat="server" ControlToValidate="tEDT" Display="Dynamic"><img alt="End date must be a valid date."src="/HLC/Images/iconSM_errorc.gif" /></asp:RegularExpressionValidator> <radc:RadComboBox ID="rEDT" runat="server" Width="80px"Height="170px" NoWrap="true" MarkFirstMatch="True" AllowCustomText="true" Skin="Default"EnableEmbeddedSkins="true" OnClientTextChange="ChangeDate" OnClientBlur="ChangeDate"OnClientSelectedIndexChanged="ChangeDate"> </radc:RadComboBox> <asp:CustomValidator ClientValidationFunction="ValidateEndTime"runat="server" ID="rcEDT" ControlToValidate="rEDT" ValidationGroup="1"Display="Dynamic"> <img alt="End time must be a valid 12 hour time." src="/HLC/Images/iconSM_errorc.gif" /> </asp:CustomValidator> <asp:CustomValidatorClientValidationFunction="ValidateSessionTime" runat="server" ID="rcEDT1" ControlToValidate="rEDT" ValidationGroup="1"Display="None"></asp:CustomValidator> </td> </tr> <tr> <td> Time Zone: </td> <td colspan="3"> <radc:RadComboBox ID="rTZ" runat="server"DataValueField="TimeZoneID" DataTextField="Description" OnClientSelectedIndexChanged="ChangeDate" NoWrap="true"MarkFirstMatch="True" AllowCustomText="true" Skin="Default"EnableEmbeddedSkins="true" Width="400" Height="170px"> </radc:RadComboBox> </td> </tr> </table> </div> <div style="margin: 5px 5px 5px 5px;"> <asp:UpdatePanel ID="panelResource" UpdateMode="Conditional" runat="server"> <ContentTemplate> <DayPilot:DayPilotScheduler ID="rSH" runat="server" Days="1"StartDate="2010-01-01" BackColor="White" NonBusinessBackColor="White"CellBorderColor="LightGray" EventBackColor="LightGray" EventCorners="Rounded" Crosshair="Disabled"UseEventBoxes="ShortEventsOnly" DataStartField="StartDate" DataEndField="EndDate"DataTextField="Subject" DataValueField="SessionID" HeaderFontSize="8pt" HeaderHeight="17"DataResourceField="ResourceID" EventHeight="40" ClientObjectName="dps1" Width="100%" HeightSpec="Max"Height="375" CssClassPrefix="scheduler_silver_" HourNameBackColor="#F0F0F0" CellWidth="40"RowHeaderColumnWidths="100,100,25"> </DayPilot:DayPilotScheduler> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="btnAddResourceRooms"EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="btnAddResourceSimulator"EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="btnAddResourceDevice"EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="btnAddResourceEquipment"EventName="Click" /> </Triggers> </asp:UpdatePanel> </div> <div class="bc" style="width: 98%;"> <div class="r" style="width: 50%; white-space: nowrap;"> <asp:Button runat="server" ID="btnContinue" Text="Continue"ValidationGroup="1" CausesValidation="true" /> </div> </div> </div> </radc:RadPane> </radc:RadSplitter> </div> </div> </form> </body> </html><%@ Page Language="C#" MasterPageFile="~/Common/Site.Master" AutoEventWireup="false" CodeBehind="ClassSessionEditor.aspx.cs" EnableViewState="true" Inherits="HSTM.HLC.Web.UI.ClassSessionEditor" %> <%@ Register TagPrefix="hstm" Namespace="HSTM.HLC.Web.UI.WebControls" Assembly="HLC" %> <%@ Register TagPrefix="radc" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> <%@ Register Assembly="DayPilot" Namespace="DayPilot.Web.Ui" TagPrefix="DayPilot" %> <%@ Register TagPrefix="uc1" TagName="ListSelector" Src="~/Common/Controls/ListSelector.ascx" %> <asp:Content ID="contentHead" ContentPlaceHolderID="head" runat="server"> <asp:Literal ID="styleSheet" runat="Server"></asp:Literal> <link href="/HLC/CSS/site2.css" type="text/css" rel="stylesheet" /> <script type="text/javascript" src="/HLC/Scripts/jquery-1.4.2.min.js"></script> <script language="javascript" type="text/javascript" src="/HLC/Admin/Education/Scripts/ClassroomCalendar.js"></script> <script src="/HLC/Scripts/hlc.js" type="text/javascript"></script> </asp:Content> <asp:Content ID="contentBody" ContentPlaceHolderID="CPH" runat="server"> <radc:RadCodeBlock ID="RadCodeBlock1" runat="server"> <script type="text/javascript" language="javascript"> function ChangeDate() { var combo = $find("<%= rSDT.ClientID %>"); var combo1 = $find("<%= rEDT.ClientID %>"); var radStart = "<%= rSDT.ClientID %>"; var radEnd = "<%= rEDT.ClientID %>"; var startDateBox = document.getElementById("<%=tSDT.ClientID%>"); var endDateBox = document.getElementById("<%=tEDT.ClientID%>"); var inputEnd = document.getElementById(radEnd + "_Input"); var inputStart = document.getElementById(radStart + "_Input"); var timeFormat = "^(1|01|2|02|3|03|4|04|5|05|6|06|7|07|8|08|9|09|10|11|12{1,2}):(([0-5]{1}[0-9]{1}\s{0,1})( [AM|PM]{2,2}))\W{0}$"; LoadComboControl(combo, combo1, radStart, radEnd); LoadDateText(startDateBox, endDateBox); if (startDateBox.value.length > 0 && inputStart.value.length > 0 && endDateBox.value.length > 0 && inputEnd.value.length > 0) { var re = new RegExp(timeFormat); if (re.test(inputStart.value) && re.test(inputEnd.value)) { var startDate = startDateBox.value + " " + inputStart.value; var endDate = endDateBox.value + " " + inputEnd.value; dps1.clientState = { "datechange": startDate + "|" + endDate + "|" + $("#rTZ").val() }; dps1.commandCallBack("datechange"); } } } function pageLoad() { var treeView = $find("<%= rtv.ClientID %>"); var allNodes = treeView.get_allNodes(); var isChecked = false; for (var i = 0; i < allNodes.length; i++) { if (allNodes[i].get_checked()) { isChecked = true; break; } } document.getElementById("divRoomsSection").disabled = document.getElementById("divSimulatorSection").disabled = document.getElementById("divInstructorSection").disabled = document.getElementById("divEquipmentSection").disabled = document.getElementById("imgRooms").disabled = document.getElementById("imgSimulator").disabled = document.getElementById("imgInstructorApp").disabled = document.getElementById("imgEquipment").disabled = !isChecked; } function collapseResources() { var treeView = $find("<%= rtv.ClientID %>"); var allNodes = treeView.get_allNodes(); var isChecked = false; for (var i = 0; i < allNodes.length; i++) { if (allNodes[i].get_checked()) { isChecked = true; break; } } if (!isChecked) { collapseControls(document.getElementById("imgRooms")); collapseControls(document.getElementById("imgSimulator")); collapseControls(document.getElementById("imgInstructorApp")); collapseControls(document.getElementById("imgEquipment")); } return false; } function collapseControls(imgControl) { if ($(imgControl).attr('src') != null) { if ($(imgControl).attr('src').indexOf('iconXSM_Collapse.gif') > -1) { $(imgControl).parent().parent().parent().find('.divs').toggle(500); var imageCollapse = $(imgControl).attr('src').replace('iconXSM_Collapse.gif', 'iconXSM_Expand.gif'); $(imgControl).attr('src', imageCollapse); $(imgControl).attr('alt', 'Expand Section'); $(imgControl).attr('title', 'Expand Section'); } } } </script> </radc:RadCodeBlock> <div class="grid_16"> <div> <hstm:FeatureTitle ID="featureTitle" Title="Class Session Editor" runat="server" SubTitle="Resource Scheduling" TitleImageUrl="/HLC/Images/iconLG_Calendar.png"> </hstm:FeatureTitle> </div> <div class="tss"> <hstm:ValidationSummary ID="vSS" ValidationGroup="1" runat="server"></hstm:ValidationSummary> </div> </div> <div class="clear"> </div> <div class="occ"> <radc:RadWindowManager ID="rWM" runat="server" EnableViewState="true"> </radc:RadWindowManager> <radc:RadAjaxManager runat="Server" ID="RadAjaxManager1"> <AjaxSettings> <radc:AjaxSetting AjaxControlID="rtv"> <UpdatedControls> <radc:AjaxUpdatedControl ControlID="lstRooms" /> <radc:AjaxUpdatedControl ControlID="lstEquipments" /> <radc:AjaxUpdatedControl ControlID="lstIAs" /> <radc:AjaxUpdatedControl ControlID="lstSimulator" /> <radc:AjaxUpdatedControl ControlID="rtv" LoadingPanelID="ralp" /> </UpdatedControls> </radc:AjaxSetting> </AjaxSettings> </radc:RadAjaxManager> <radc:RadAjaxLoadingPanel ID="ralp" runat="server" Skin="Default" EnableSkinTransparency="true" Transparency="10" /> <div class="grid_16 tss pt10"> <radc:RadSplitter runat="server" ID="rs" PanesBorderSize="0" Width="100%" Height="620px" Skin="Default"> <radc:RadPane runat="Server" ID="lp" Width="250px" MinWidth="230" MaxWidth="300"> <div> <div class="grid_4 brdr mt5"> <div> <div> <div> <img src="/HLC/Images/iconXSM_Collapse.gif" class="toggle pointer" alt="Institution/Buildings Tree Section" title="Institution/Buildings Tree" /><b>Buildings</b> </div> <div class="mt5"> <div class="divs toggledOff sec-content add-info"> <radc:RadAjaxPanel LoadingPanelID="ralp" runat="server"> <radc:RadTreeView ID="rtv" runat="server" EnableViewState="true" CheckBoxes="True" TriStateCheckBoxes="true" Height="250" CheckChildNodes="true" Width="220" OnNodeCheck="rtv_NodeCheck" Skin="Default" OnClientNodeChecked="collapseResources" LoadingMessage="" CssClass="brdr" Font-Size="80%" Font-Names="Trebuchet,Tahoma,Verdana"> </radc:RadTreeView> </radc:RadAjaxPanel> </div> </div> </div> </div> </div> <div class="clear"> </div> <div class="grid_4 brdr mt5" id="divRoomsSection"> <div> <div> <div> <img src="/HLC/Images/iconXSM_Collapse.gif" class="toggle toggleOnLoad pointer" alt="Rooms Section" title="Rooms" id="imgRooms" /><b>Rooms</b> </div> <div class="mt5"> <div class="divs sec-content add-info"> <asp:UpdatePanel ID="updatePanelRooms" UpdateMode="Conditional" runat="server"> <ContentTemplate> <div class="grid_4 alpha"> <asp:CheckBox runat="server" ID="chkCheckAllRooms" AutoPostBack="true" Text="Select All" /> </div> <div class="r" style="float: right;"> <asp:Button ID="btnAddResourceRooms" runat="server" Text="Add to Calendar" /> </div> <div class="clear"> </div> <uc1:ListSelector ID="lstRooms" Width="220" runat="server" DataTextField="Value" DisplayTitleBar="false" DataValueField="Key" CssClass="brdr"></uc1:ListSelector> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="btnAddResourceRooms" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="btnAddResourceSimulator" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="btnAddResourceDevice" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="btnAddResourceEquipment" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="chkCheckAllRooms" EventName="CheckedChanged" /> </Triggers> </asp:UpdatePanel> </div> </div> </div> </div> </div> <div class="clear"> </div> <div class="grid_4 brdr mt5" id="divSimulatorSection"> <div> <div> <div> <img src="/HLC/Images/iconXSM_Collapse.gif" class="toggle toggleOnLoad pointer" alt="Simulator Section" title="Simulator" id="imgSimulator" /><b>Simulator</b> </div> <div class="mt5"> <div class="divs sec-content add-info"> <asp:UpdatePanel ID="updatePanelSimulator" UpdateMode="Conditional" runat="server"> <ContentTemplate> <div class="grid_4 alpha"> <asp:CheckBox runat="server" ID="chkCheckAllSimulator" AutoPostBack="true" Text="Select All" /> <div class="r" style="float: right;"> <asp:Button ID="btnAddResourceSimulator" runat="server" Text="Add to Calendar" /> </div> </div> <div class="clear"> </div> <uc1:ListSelector ID="lstSimulator" Width="220" runat="server" DataTextField="Value" DisplayTitleBar="false" DataValueField="Key" CssClass="brdr"></uc1:ListSelector> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="btnAddResourceRooms" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="btnAddResourceSimulator" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="btnAddResourceDevice" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="btnAddResourceEquipment" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="chkCheckAllSimulator" EventName="CheckedChanged" /> </Triggers> </asp:UpdatePanel> </div> </div> </div> </div> </div> <div class="clear"> </div> <div class="grid_4 brdr mt5" id="divInstructorSection"> <div> <div> <div> <img src="/HLC/Images/iconXSM_Collapse.gif" class="toggle toggleOnLoad pointer" alt="Instructor App or SimPad Section" title="Instructor App or SimPad" id="imgInstructorApp" /><b>Instructor App or SimPad</b> </div> <div class="mt5"> <div class="divs sec-content add-info"> <asp:UpdatePanel ID="updatePanelIAs" UpdateMode="Conditional" runat="server"> <ContentTemplate> <div class="grid_4 alpha"> <asp:CheckBox runat="server" ID="chkCheckAllDevice" AutoPostBack="true" Text="Select All" /> <div class="r" style="float: right;"> <asp:Button ID="btnAddResourceDevice" runat="server" Text="Add to Calendar" /> </div> </div> <div class="clear"> </div> <uc1:ListSelector ID="lstIAs" Width="220" runat="server" DataTextField="Value" DisplayTitleBar="false" DataValueField="Key" CssClass="brdr"></uc1:ListSelector> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="btnAddResourceRooms" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="btnAddResourceSimulator" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="btnAddResourceDevice" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="btnAddResourceEquipment" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="chkCheckAllDevice" EventName="CheckedChanged" /> </Triggers> </asp:UpdatePanel> </div> </div> </div> </div> </div> <div class="clear"> </div> <div class="grid_4 brdr mt5" id="divEquipmentSection"> <div> <div> <div> <img src="/HLC/Images/iconXSM_Collapse.gif" class="toggle toggleOnLoad pointer" alt="Equipment Section" title="Equipment" id="imgEquipment" /><b>Equipment</b> </div> <div class="mt5"> <div class="divs sec-content add-info"> <asp:UpdatePanel ID="updatePanelEquipments" UpdateMode="Conditional" runat="server"> <ContentTemplate> <div class="grid_4 alpha"> <asp:CheckBox runat="server" ID="chkCheckAllEquipment" AutoPostBack="true" Text="Select All" /> <div class="r" style="float: right;"> <asp:Button ID="btnAddResourceEquipment" runat="server" Text="Add to Calendar" /> </div> </div> <div class="clear"> </div> <uc1:ListSelector ID="lstEquipments" Width="220" runat="server" DataTextField="Value" DisplayTitleBar="false" DataValueField="Key" CssClass="brdr"></uc1:ListSelector> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="btnAddResourceRooms" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="btnAddResourceSimulator" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="btnAddResourceDevice" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="btnAddResourceEquipment" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="chkCheckAllEquipment" EventName="CheckedChanged" /> </Triggers> </asp:UpdatePanel> </div> </div> </div> </div> </div> <div class="clear"> </div> </div> </radc:RadPane> <radc:RadSplitBar runat="server" ID="rsb" CollapseMode="Forward" EnableResize="true" /> <radc:RadPane runat="Server" ID="rp" Scrolling="None" Height="900px" Width="100%"> <div style="width: 98%; white-space: nowrap;"> <div class="clear"> </div> <div class="grid_12 ef" style="width: 680px; white-space: nowrap;"> <div class="grid_10 brdr"> <div class="grid_9"> <fieldset class="content-margin"> <ol> <li> <div style="float: left;"> <label> Start Date Time:<img alt="" src="/hlc/Images/requiredStar.gif" title="Required" /></label> <hstm:Calendar ID="tSDT" Width="100px" runat="server" ViewMode="MonthDayYear" onblur="ChangeDate();"></hstm:Calendar> <asp:RequiredFieldValidator ID="rfSDT" runat="server" ValidationGroup="1" ControlToValidate="tSDT" Display="Dynamic"><img alt="Start date is required." src="/HLC/Images/iconSM_errorc.gif" /></asp:RequiredFieldValidator> <asp:RegularExpressionValidator ID="reSDT" ValidationGroup="1" runat="server" ControlToValidate="tSDT" Display="Dynamic"><img alt="Start date must be a valid date." src="/HLC/Images/iconSM_errorc.gif" /> </asp:RegularExpressionValidator> <radc:RadComboBox ID="rSDT" runat="server" Width="80px" Height="170px" NoWrap="true" MarkFirstMatch="True" AllowCustomText="true" Skin="Default" EnableEmbeddedSkins="true" OnClientTextChange="ChangeDate" OnClientBlur="ChangeDate" OnClientSelectedIndexChanged="ChangeDate"> </radc:RadComboBox> <asp:CustomValidator ClientValidationFunction="ValidateStartTime" runat="server" ID="rcSDT" ControlToValidate="rSDT" ValidationGroup="1" Display="Dynamic"> <img alt="Start time must be a valid 12 hour time." src="/HLC/Images/iconSM_errorc.gif" /> </asp:CustomValidator> </div> </li> <li> <div style="float: right;"> <label> End Date Time:<img alt="" src="/hlc/Images/requiredStar.gif" title="Required" /></label> <hstm:Calendar ID="tEDT" Width="100px" runat="server" onblur="ChangeDate();"></hstm:Calendar> <asp:RequiredFieldValidator ID="rfEDT" ValidationGroup="1" runat="server" ControlToValidate="tEDT" Display="Dynamic"><img alt="End date is required." src="/HLC/Images/iconSM_errorc.gif" /></asp:RequiredFieldValidator> <asp:RegularExpressionValidator ValidationGroup="1" ID="reEDT" runat="server" ControlToValidate="tEDT" Display="Dynamic"><img alt="End date must be a valid date." src="/HLC/Images/iconSM_errorc.gif" /></asp:RegularExpressionValidator> <radc:RadComboBox ID="rEDT" runat="server" Width="80px" Height="170px" NoWrap="true" MarkFirstMatch="True" AllowCustomText="true" Skin="Default" EnableEmbeddedSkins="true" OnClientTextChange="ChangeDate" OnClientBlur="ChangeDate" OnClientSelectedIndexChanged="ChangeDate"> </radc:RadComboBox> <asp:CustomValidator ClientValidationFunction="ValidateEndTime" runat="server" ID="rcEDT" ControlToValidate="rEDT" ValidationGroup="1" Display="Dynamic"> <img alt="End time must be a valid 12 hour time." src="/HLC/Images/iconSM_errorc.gif" /> </asp:CustomValidator> <asp:CustomValidator ClientValidationFunction="ValidateSessionTime" runat="server" ID="rcEDT1" ControlToValidate="rEDT" ValidationGroup="1" Display="None"></asp:CustomValidator> </div> <div style="clear: both; height: 15px;"> </div> </li> <li> <label> Time Zone:</label> <div style="float: left;"> <radc:RadComboBox ID="rTZ" runat="server" DataValueField="TimeZoneID" DataTextField="Description" OnClientSelectedIndexChanged="ChangeDate" NoWrap="true" MarkFirstMatch="True" AllowCustomText="true" Skin="Default" EnableEmbeddedSkins="true" Width="400" Height="170px"> </radc:RadComboBox> </div> <div style="clear: both; height: 15px;"> </div> </li> </ol> </fieldset> </div> </div> </div> <div class="grid_12" style="margin: 5px 5px 5px 5px; min-height: 400px; width: 98%;"> <asp:UpdatePanel ID="panelResource" UpdateMode="Conditional" runat="server"> <ContentTemplate> <DayPilot:DayPilotScheduler ID="rSH" runat="server" Days="1" StartDate="2010-01-01" BackColor="White" NonBusinessBackColor="White" CellBorderColor="LightGray" EventBackColor="LightGray" EventCorners="Rounded" Crosshair="Disabled" UseEventBoxes="ShortEventsOnly" DataStartField="StartDate" DataEndField="EndDate" DataTextField="Subject" DataValueField="SessionID" HeaderFontSize="8pt" HeaderHeight="17" DataResourceField="ResourceID" EventHeight="40" ClientObjectName="dps1" Width="100%" HeightSpec="Max" Height="375" CssClassPrefix="scheduler_silver_" HourNameBackColor="#F0F0F0" CellWidth="40" RowHeaderColumnWidths="100,100,25"> </DayPilot:DayPilotScheduler> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="btnAddResourceRooms" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="btnAddResourceSimulator" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="btnAddResourceDevice" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="btnAddResourceEquipment" EventName="Click" /> </Triggers> </asp:UpdatePanel> <div style="clear: both; height: 15px;"> </div> <div style="float: left; width: 98%;"> <div class="bc" style="width: 98%;"> <div class="r" style="width: 50%; white-space: nowrap;"> <asp:Button runat="server" ID="btnContinue" Text="Continue" ValidationGroup="1" CausesValidation="true" /> </div> </div> </div> </div> </div> </radc:RadPane> </radc:RadSplitter> </div> </div> </asp:Content><%@ Register TagPrefix="hstm" Namespace="HSTM.HLC.Web.UI.WebControls" Assembly="HSTM.HLC.Web.UI.Webcontrols" %><%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %><%@ Master Language="C#" AutoEventWireup="false" Inherits="HSTM.HLC.Web.UI.BaseMasterPage" %><?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" ><head id="Head1" runat="server"> <link rel="SHORTCUT ICON" href="http://www.healthstream.com/hstm.ico" /> <link href="/HLC/CSS/site2.css" rel="stylesheet" type="text/css" /> <script src="/HLC/Scripts/hlc.js" type="text/javascript"></script> <script src="/HLC/Scripts/jquery-1.4.2.min.js" type="text/javascript"></script> <script src="/HLC/Scripts/jquery-ui-1.8.custom.min.js" type="text/javascript"></script> <asp:ContentPlaceHolder ID="head" runat="server"/></head><body id="mbody" class="mbody" runat="server"> <form id="form1" runat="server"> <telerik:RadScriptManager ID="sm" runat="server" /> <div id="pc"> <div class="container_16"> <hstm:HeaderBar ID="ph" CssClass="ph" runat="server"></hstm:HeaderBar> <hstm:ApplicationBar ID="ab" CssClass="ab" runat="server"></hstm:ApplicationBar> <hstm:MenuBar ID="mb" CssClass="mb" runat="server"></hstm:MenuBar> <div class="clear"></div> <div class="ca"> <asp:ContentPlaceHolder ID="CPH" runat="server"/> </div> <div class="clear"></div> </div> </div> <div id="pb"></div> <hstm:FooterBar2 ID="pf" CssClass="fp" runat="server"></hstm:FooterBar2> </form></body></html>protected void Page_Load(object sender, EventArgs e){ RadMenuItem menuAlertMe = new RadMenuItem("Alert Me"); menuAlertMe.Value = "AlertMe"; ucFileExplorer.GridContextMenu.Items.Add(menuAlertMe); ucFileExplorer.GridContextMenu.ItemClick += new RadMenuEventHandler(GridContextMenu_ItemClick);}private void GridContextMenu_ItemClick(object sender, RadMenuEventArgs e){ RadMenuItem menuItem = e.Item as RadMenuItem; if (menuItem.Value == "AlertMe") { // I want to get a hold of the current item of the Grid so I can process it... }}I am getting error while implement this supposedly very simple looking sceanrio using 2 radbutton.
I have 2 rad buttons on the form as below.
- First I wanted to set the property visiblity to false to one of them based on the session variable set.
- & then alternate the visiblity between the 2 rad buttons when either one is clicked.
The problem is as below. When I set the visiblity=false on click of one button. It works first time. On the next click (of the current visible button),I recieve an error, returns a null error while trying to make the previously made invisible buttom visible.
<telerik:RadButton ID="rb1" runat="server" skin="Vista" Text="Switch to 2" OnClientClicking="OnClick_1" OnClick="OnClicked_1" GroupName="GroupName1" ButtonType="ToggleButton" Visible="false"> </telerik:RadButton> <telerik:RadButton ID="rb2" runat="server" skin="Vista" Text="Switch to 1" OnClientClicking="OnClick_2" OnClick="OnClicked_2" GroupName="GroupName1" ButtonType="ToggleButton"> </telerik:RadButton>var radButton1 = $find("rb1"); radButton1.set_visible(false); var radButton2 = $find("rb2"); radButton1.set_visible(true); Note: There is a another conditional snippet which sets rb1 visiblity to false & rb2 to true.
here rb2 is throwing null (because its visiblity is already set to false), the reason why throwign errror while setting the visibility to true.
Thank you