asp.net mvc 3 - kendo - Telerik MVC DatePicker Desactivar días de la semana
kendo datetimepicker 24 hours (2)
Tal vez pueda agregar un manejador de eventos jquery para todos los enlaces que son días de semana (los días de fin de semana tienen una clase de fin de semana en el td) y evitar el comportamiento predeterminado, por lo que cada vez que haga clic en ellos no hagan nada. También es posible que desee cambiar el estilo de los valores de la semana para que el usuario no se moleste por hacer clic y no obtener el efecto deseado.
¿Hay alguna manera de que el DatePicker permita al usuario elegir solo el domingo / sábado de las fechas emergentes, ya que la semana comienza desde el domingo y finaliza el sábado?
Tengo 2 DatePickers que sirven como un rango (desde y hasta) y la validación es para permitirle al usuario seleccionar solo un domingo en el cuadro de y el sábado en el cuadro de texto.
¿Algunas ideas?
en aspx agrega el siguiente código
<%@ 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>
y en el archivo cs
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);
}
}
}