2013-06-04 3 views
0

내가RadScheduler 약속

을 돕는 질문 미리 감사에서 실수하면 미안 달력의 날짜를 변경하면 내가 잘 작동하지만 난 확인란의 선택 필터 약속을 질수도 날짜가 선택되지 RadScheduler을 사용하고 필터링하지

내 코드는이 이루어집니다대로 AppoinmentDataBound 이벤트를 사용할 수 있습니다이 경우에서와 같이 바인딩 서버 측의 경우 여기

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> 

<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI"%> 
<%@ Register TagPrefix="sds" Namespace="Telerik.Web.SessionDS" %> 
<!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'> 
<head> 
    <title>ASP.NET scheduler examples | RadScheduler control demo</title> 
    <link href="Style.css" rel="stylesheet" type="text/css" /> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <telerik:RadScriptManager runat="server" ID="RadScriptManager1" /> 
    <script type="text/javascript"> 
      //<![CDATA[ 
     var categoryNames = new Array(); 
     var scheduler = null; 
     var calendar1 = null; 
     var SchedulerNavigationCompleteAlreadyOccurred = false; 

     function pageLoad() { 

      scheduler = $find('<%=RadScheduler1.ClientID %>'); 
      calendar1 = $find('<%=RadCalendar1.ClientID %>'); 
     } 
     function rebindScheduler() { 

      var scheduler = $find('<%=RadScheduler1.ClientID %>'); 

      scheduler.rebind(); 
     } 

     function OnClientAppointmentsPopulating(sender, eventArgs) { 
      addSelectedCategoriesToArray(categoryNames); 
      eventArgs.get_schedulerInfo().CategoryNames = categoryNames; 
      categoryNames = new Array(); //clear the array 
     } 

     function addSelectedCategoriesToArray(categoryNamesArray) { 
      var $ = $telerik.$; 
      var categoryPanelBar = $find('<%=RadPanelBar1.ClientID %>'); 
      $(':checkbox:checked', categoryPanelBar.get_element()).each(function() { 
       categoryNames.push($(this).attr('name')); 
      }); 
     } 

     function OnClientAppointmentWebServiceInserting(sender, args) { 
      //set a default Calendar resource 
      if (args.get_appointment().get_resources().get_count() == 0) { 
       var defaultCalendarResource = sender.get_resources().getResourceByTypeAndKey("Calendar", 1); 
       args.get_appointment().get_resources().add(defaultCalendarResource); 
      } 
     } 

     function OnCalendar1DateSelected(sender, args) { 
      var scheduler = $find('<%=RadScheduler1.ClientID %>'); 

      var selectedDateTriplet = sender.get_selectedDates()[0]; 
      if (selectedDateTriplet) { 
       var selectedDate = new Date(selectedDateTriplet[0], selectedDateTriplet[1] - 1, selectedDateTriplet[2]); 
       scheduler.set_selectedDate(selectedDate); 


      } 
     } 

     function OnCalendar1ViewChanged(sender, eventArgs) { 

      var dateTriplet = sender.get_focusedDate(); 

      if (!SchedulerNavigationCompleteAlreadyOccurred) { 
       var selectedDate = new Date(dateTriplet[0], dateTriplet[1] - 1, dateTriplet[2]); 
       scheduler.set_selectedDate(selectedDate); 
      } 
      SchedulerNavigationCompleteAlreadyOccurred = false; 
     } 

     function OnClientNavigationComplete(sender, args) { 
      SchedulerNavigationCompleteAlreadyOccurred = true; 
      var selectedDate = sender.get_selectedDate(); 
      calendar1.navigateToDate([selectedDate.format("yyyy"), selectedDate.format("MM"), selectedDate.format("dd")]); 
     } 
      //]]> 
    </script> 
    <telerik:RadSplitter runat="server" ID="RadSplitter1" Skin="Sunset" PanesBorderSize="0" 
     Width="1000" Height="600"> 
     <telerik:RadPane runat="Server" ID="leftPane" Width="220" Scrolling="None"> 
      <telerik:RadSplitter runat="server" ID="RadSplitter2" Skin="Sunset" Orientation="Horizontal" 
       Width="100%"> 
       <telerik:RadPane ID="RadPane1" runat="server" Width="220" Height="200"> 
        <telerik:RadCalendar runat="server" ID="RadCalendar1" Skin="Metro" EnableMultiSelect="false" 
         DayNameFormat="FirstTwoLetters" EnableNavigation="true" EnableMonthYearFastNavigation="true"> 
         <ClientEvents OnDateSelected="OnCalendar1DateSelected" OnCalendarViewChanged="OnCalendar1ViewChanged" /> 
        </telerik:RadCalendar> 
       </telerik:RadPane> 
       <telerik:RadSplitBar ID="RadSplitBar1" runat="server" EnableResize="false" /> 
       <telerik:RadPane ID="RadPane2" runat="server"> 
        <telerik:RadPanelBar runat="server" ID="RadPanelBar1" Skin="Sunset" Width="100%" 
         ExpandAnimation-Type="None" CollapseAnimation-Type="None" ExpandMode="SingleExpandedItem"> 
         <Items> 
          <telerik:RadPanelItem runat="server" Text="My Calendars" Expanded="true"> 
           <Items> 
            <telerik:RadPanelItem runat="server"> 
             <ItemTemplate> 
              <div class="rpCheckBoxPanel"> 
               <div class="qsf-chk-personal"> 
                <label> 
                 <input id="chkPersonal" type="checkbox" title="National Plans" onclick="rebindScheduler()" 
                  value="National Plans" checked="checked" name="National Plans" /> 
                 <span>National Plans</span> 
                </label> 
               </div> 
               <div class="qsf-chk-work"> 
                <label> 
                 <input id="chkWork" type="checkbox" title="My Co-ops" onclick="rebindScheduler()" 
                  value="My Co-ops" checked="checked" name="My Co-ops" /> 
                 <span>My Co-ops</span> 
                </label> 
               </div> 
              </div> 
              <telerik:RadButton runat="server" ID="Button1" Text="Group" OnClick="Button1_Click" 
               Icon-PrimaryIconCssClass="qsf-btn-group" /> 
              <span title="This button Groups RadScheduler by its Resources creating a separate calendar for each resource item and situating the appropriate appointments there." 
               class="qsf-btn-hint">?</span> 
             </ItemTemplate> 
            </telerik:RadPanelItem> 
           </Items> 
          </telerik:RadPanelItem> 
         </Items> 
        </telerik:RadPanelBar> 
       </telerik:RadPane> 
      </telerik:RadSplitter> 
     </telerik:RadPane> 
     <telerik:RadSplitBar runat="server" ID="RadSplitBar2" CollapseMode="Forward" EnableResize="false" /> 
     <telerik:RadPane runat="Server" ID="rightPane" Scrolling="None"> 
      <telerik:RadScheduler runat="server" ID="RadScheduler1" DataEndField="End" Skin="Vista" 
       DataKeyField="ID" DataRecurrenceField="RecurrenceRule" DataRecurrenceParentKeyField="RecurrenceParentID" 
       DataSourceID="SchedulerDataSource" DataDescriptionField="Description" Height="700px" 
       DataStartField="Start" DataSubjectField="Subject" DayStartTime="08:00:00" DayEndTime="21:00:00" 
       FirstDayOfWeek="Monday" LastDayOfWeek="Friday" EnableDescriptionField="true" 
       AppointmentStyleMode="Default" OnClientAppointmentsPopulating="OnClientAppointmentsPopulating" 
       OnClientAppointmentWebServiceInserting="OnClientAppointmentWebServiceInserting" 
       OnClientNavigationComplete="OnClientNavigationComplete"> 
       <%--  <WebServiceSettings Path="App_Code/SchedulerWebService.vb" ResourcePopulationMode="ServerSide" />--%> 
       <AdvancedForm Modal="true"></AdvancedForm> 
       <TimelineView UserSelectable="false"></TimelineView> 
       <ResourceTypes> 
        <telerik:ResourceType DataSourceID="RoomsDataSource" ForeignKeyField="RoomID" KeyField="ID" 
         Name="Room" TextField="RoomName" /> 
       </ResourceTypes> 
       <ResourceStyles> 
        <%--AppointmentStyleMode must be explicitly set to Default (see above) otherwise setting BackColor/BorderColor 
            will switch the appointments to Simple rendering (no rounded corners and gradients)--%> 
        <telerik:ResourceStyleMapping Type="Room" Text="National Plans" ApplyCssClass="blue-border" /> 
        <telerik:ResourceStyleMapping Type="Room" Text="My Co-ops" ApplyCssClass="green-border" /> 
       </ResourceStyles> 
       <ResourceHeaderTemplate> 
        <div class="rsResourceHeader<%# Eval("Text") %>"> 
         <%# Eval("Text")%> 
        </div> 
       </ResourceHeaderTemplate> 
       <TimeSlotContextMenuSettings EnableDefault="true" /> 
       <AppointmentContextMenuSettings EnableDefault="true" /> 
       <Localization HeaderWeek="Work week" /> 
      </telerik:RadScheduler> 
      <%--  <telerik:RadScheduler ID="RadScheduler1" runat="server" DataEndField="End" DataKeyField="ID" 
       DataRecurrenceField="RecurrenceRule" DataRecurrenceParentKeyField="RecurrenceParentID" 
       DataSourceID="SchedulerDataSource" DataDescriptionField="Description" Height="700px" 
       DataStartField="Start" DataSubjectField="Subject" Skin="Windows7"> 
       <AdvancedForm Modal="true"></AdvancedForm> 
       <TimelineView UserSelectable="false"></TimelineView> 
       <ResourceTypes> 
        <telerik:ResourceType DataSourceID="RoomsDataSource" ForeignKeyField="RoomID" KeyField="ID" 
         Name="Room" TextField="RoomName" /> 
       </ResourceTypes> 
       <ResourceStyles> 
        <telerik:ResourceStyleMapping Type="Calendar" Text="VIP" BorderColor="#abd962" /> 
        <telerik:ResourceStyleMapping Type="Calendar" Text="VVIP" BorderColor="#25a0da" /> 
       </ResourceStyles> 
       <ResourceHeaderTemplate> 
        <div class="rsResourceHeader<%# Eval("Text") %>"> 
         <%# Eval("Text") %> 
        </div> 
       </ResourceHeaderTemplate> 
       <TimeSlotContextMenuSettings EnableDefault="true" /> 
       <AppointmentContextMenuSettings EnableDefault="true" /> 
       <Localization HeaderWeek="Work week" /> 
      </telerik:RadScheduler>--%> 
     </telerik:RadPane> 
    </telerik:RadSplitter> 
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> 
     <AjaxSettings> 
      <%--<telerik:AjaxSetting AjaxControlID="RadScheduler1"> 
       <UpdatedControls> 
        <telerik:AjaxUpdatedControl ControlID="RadScheduler1" /> 
       </UpdatedControls> 
      </telerik:AjaxSetting>--%> 
      <telerik:AjaxSetting AjaxControlID="RadAjaxManager1"> 
       <UpdatedControls> 
        <telerik:AjaxUpdatedControl ControlID="RadScheduler1" /> 
       </UpdatedControls> 
      </telerik:AjaxSetting> 
     </AjaxSettings> 
    </telerik:RadAjaxManager> 
    <asp:SqlDataSource ID="SchedulerDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:SchedulerConnectionString %>" 
     DeleteCommand="DELETE FROM [Appointments] WHERE [ID] = @ID" InsertCommand="INSERT INTO [Appointments] ([Subject], [Start], [End], [RecurrenceRule], [RecurrenceParentID], [Description], [RoomID]) VALUES (@Subject, @Start, @End, @RecurrenceRule, @RecurrenceParentID, @Description, @RoomID)" 
     SelectCommand="SELECT [ID], [Subject], [Start], [End], [RecurrenceRule], [RecurrenceParentID], [Description], [RoomID] FROM [Appointments]" 
     UpdateCommand="UPDATE [Appointments] SET [Subject] = @Subject, [Start] = @Start, [End] = @End, [RecurrenceRule] = @RecurrenceRule, [RecurrenceParentID] = @RecurrenceParentID, [Description] = @Description, [RoomID] = @RoomID WHERE [ID] = @ID"> 
     <DeleteParameters> 
      <asp:Parameter Name="ID" Type="Int32" /> 
     </DeleteParameters> 
     <UpdateParameters> 
      <asp:Parameter Name="Subject" Type="String" /> 
      <asp:Parameter Name="Start" Type="DateTime" /> 
      <asp:Parameter Name="End" Type="DateTime" /> 
      <asp:Parameter Name="RecurrenceRule" Type="String" /> 
      <asp:Parameter Name="RecurrenceParentID" Type="Int32" /> 
      <asp:Parameter Name="Description" Type="String" /> 
      <asp:Parameter Name="RoomID" Type="Int32" /> 
      <asp:Parameter Name="ID" Type="Int32" /> 
     </UpdateParameters> 
     <InsertParameters> 
      <asp:Parameter Name="Subject" Type="String" /> 
      <asp:Parameter Name="Start" Type="DateTime" /> 
      <asp:Parameter Name="End" Type="DateTime" /> 
      <asp:Parameter Name="RecurrenceRule" Type="String" /> 
      <asp:Parameter Name="RecurrenceParentID" Type="Int32" /> 
      <asp:Parameter Name="Description" Type="String" /> 
      <asp:Parameter Name="RoomID" Type="Int32" /> 
     </InsertParameters> 
    </asp:SqlDataSource> 
    <asp:SqlDataSource ID="RoomsDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:SchedulerConnectionString %>" 
     SelectCommand="SELECT [ID], [RoomName] FROM [Rooms]"></asp:SqlDataSource> 
    </form> 
</body> 
</html> 

답변