日期:2014-05-18  浏览次数:20412 次

如何控制CalendarExtender控件不能选择已经过去的日期
Calendar myCalendar = new Calendar(); 
// Page_Load 
myCalendar.DayRender = new DayRenderEventHandler(myCalendar_DayRender); 

void myCalendar_DayRender(object sender, DayRenderEventArgs e){ 
  if(e.Day.Date <DateTime.Today){ 
  e.Day.IsSelectable = false; 
  e.Cell.Enabled = false; 
  } 

为什么在CalendarExtender控件里面没有效果啊?请问在在CalendarExtender控件中,如何实现过去的日期不能选择?

------解决方案--------------------
也许这个对你有帮助

调用控件的 SelectedDates 集合的 Add 方法。可按任意顺序添加日期,因为集合将自动对日期进行排序。集合还强制实现唯一性,因此如果添加的日期已经存在于集合中,则集合将忽略该日期。 

下面的示例将日期选定设置为 2000 年 2 月中的每个星期三。 

Visual Basic 复制代码 
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click

With Calendar1.SelectedDates
.Clear()
.Add(New Date(2000, 2, 2))
.Add(New Date(2000, 2, 9))
.Add(New Date(2000, 2, 16))
.Add(New Date(2000, 2, 23))
End With
End Sub
 


C# 复制代码 
public void Button1_Click (object sender, System.EventArgs e)
{
SelectedDatesCollection theDates = Calendar1.SelectedDates;
theDates.Clear();
theDates.Add(new DateTime(2000,2,2));
theDates.Add(new DateTime(2000,2,9));
theDates.Add(new DateTime(2000,2,16));
theDates.Add(new DateTime(2000,2,23));
}
 

------解决方案--------------------
引用楼主 twfx7758 的帖子:
为什么在CalendarExtender控件里面没有效果啊?请问在在CalendarExtender控件中,如何实现过去的日期不能选择?