Настроить элемент управления календаря - PullRequest
2 голосов
/ 29 февраля 2012

Я хочу настроить элемент управления календаря таким образом, чтобы календарь начинался с текущей даты.
Например. Сегодня 29 февраля, в календаре должна быть указана первая дата 9 февраля.

Возможно ли это сделать с помощью календаря asp.net?

Ответы [ 2 ]

2 голосов
/ 29 февраля 2012

По умолчанию элемент управления <asp:Calendar /> отображает текущий месяц.

Это можно переопределить с помощью свойства VisibleDate, если хотите.

Не могли бы вы уточнить, что вы имеете в виду, что этоначинать с сегодняшней даты?Что должно случиться с остальными днями месяца?

Если вы хотите выделить серым цветом или отключить другие дни месяца, подключитесь к событию OnDayRender, которое будет выполняться при отображении каждого дня, ион дает вам доступ к дате и ячейке, так что вы можете сделать что-то вроде.

protected void Calendar1_OnDayRender(object sender, DayRenderEventArgs e) {
    if(e.Day.Date < DateTime.Now) {
        e.Cell.CssClass="disabled";
    }
}

Другое свойство, которое вам нужно знать, это свойство SelectedDate.Установка этого значения эквивалентна нажатию на эту конкретную дату.

1 голос
/ 29 февраля 2012

Вы можете установить свойство SelectedDate .Предполагая, что ваше имя календаря MyCal, вы можете установить дату первого месяца следующим образом:

myCal.SelectedDate = New Date(DateTime.Now.Year, DateTime.Now.Month, 1)

ADDENDUM

Попробуйте с этим кодом:

protected void Page_Load(object sender, EventArgs e)
{
    MyCal.SelectedDate = DateTime.Now.Date;
}

protected void MyCal_DayRender(object sender, DayRenderEventArgs e)
{
    if (e.Day.Date < DateTime.Now.Date)
    {
        e.Cell.Visible = false;
    }
}

protected void MyCal_VisibleMonthChanged(object sender, MonthChangedEventArgs e)
{
    if (e.NewDate.Month == DateTime.Now.Date.Month - 1) 
    {
         MyCal.SelectedDate = e.PreviousDate;
         MyCal.VisibleDate = e.PreviousDate;
    }
}

В этомкак вы:

  1. Установить текущую дату
  2. Скрыть предыдущий день
  3. Отключить просмотр предыдущего месяца
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...