asp.net-mvc-3 - net - telerik mvc 5




Telerik MVC DatePicker Deaktiviert Wochentage (2)

Vielleicht können Sie einen jquery-Ereignishandler für alle Links hinzufügen, die Wochentage sind (die Wochenendtage haben eine Wochenendklasse auf der td) und das Standardverhalten verhindern. Wenn Sie also auf sie klicken, tun Sie nichts. Vielleicht möchten Sie auch den Stil der Wochentagswerte ändern, so dass der Benutzer nicht genervt wird, wenn er klickt und nicht die gewünschte Wirkung erzielt

Gibt es eine Möglichkeit, DatePicker zuzulassen, dass der Benutzer nur Sonntag / Samstag von den Popup-Daten wählen kann, da die Woche von Sonntag beginnt und an einem Samstag endet?

Ich habe 2 DatePicker, die als Bereich dienen (von & bis) und die Validierung ist, damit der Benutzer nur einen Sonntag im Feld von und Samstag im Feld bis auswählen kann.

Irgendwelche Ideen?


in ASPX fügen Sie den folgenden Code hinzu

   <%@ Page Language="C#" AutoEventWireup="true" CodeFile="DefaultCS.aspx.cs" Inherits="DefaultCS" %>

 <%@ Register TagPrefix="radcln" Namespace="Telerik.WebControls" Assembly="RadCalendar.Net2" %>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>

        <script type="text/javascript">
        function OnDayRender(calendarInstance, args)
        {   
            var jsDate = new Date(args.Date[0], args.Date[1] - 1, args.Date[2]);
            if (jsDate.getDay() != 0)//(jsDate.getDay()!=6) for Saturday 
            {
                var otherMonthCssClass = "otherMonth_" + calendarInstance.Skin;    
                args.Cell.className = otherMonthCssClass; 
                args.Cell.innerHTML = "<span>" + args.Date[2] + "</span>";
                args.Cell.DayId = "";
            }  
        }
        </script>

        <radcln:RadDatePicker ID="RadDatePicker1" runat="server">
            <Calendar OnDayRender="Calendar_OnDayRender">
                <ClientEvents OnDayRender="OnDayRender" />
            </Calendar>
        </radcln:RadDatePicker>        

</div>
</form>

und in der CS-Datei

using System;
using System.Web.UI.WebControls;
using Telerik.WebControls;
using Telerik.WebControls.Base.Calendar.Enumerations;

public partial class DefaultCS : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
    {
        RadDatePicker1.Calendar.SpecialDays.Clear();
    }
}

protected void Calendar_OnDayRender(object sender, Telerik.WebControls.Base.Calendar.Events.DayRenderEventArgs e)
{
    if (e.Day.Date.DayOfWeek != DayOfWeek.Sunday) //(e.Day.Date.DayOfWeek != DayOfWeek.Saturday) for Saturday
    {
        string calendarSkin = RadDatePicker1.Calendar.Skin != "" ? RadDatePicker1.Calendar.Skin : "Default";
        string otherMonthCssClass = String.Format("otherMonth_{0}", calendarSkin);
        e.Cell.Text = "";
        e.Cell.CssClass = otherMonthCssClass; //set new CssClass for the disabled calendar day cells (e.g. look like other month days here)
        Label label = new Label();
        label.Text = e.Day.Date.Day.ToString();
        e.Cell.Controls.Add(label);
        RadCalendarDay calendarDay = new RadCalendarDay();
        calendarDay.Date = e.Day.Date;
        calendarDay.IsSelectable = false;
        calendarDay.ItemStyle.CssClass = otherMonthCssClass;
        RadDatePicker1.Calendar.SpecialDays.Add(calendarDay);
    }

}

}







telerik-datepicker