客户有一个要求,Calendar只有来回选取 自日起6个月以内的日期我用Calendar实现。不知首家如何现,Calendar中好像没有MAX 和MIN的属性

解决方案 »

  1.   

    只能在select 事件里加判断吗?我的理想状况是:界面上,用户根本就不能选到低于最小月的月份。向后的或者向前的那个标签直接消失或者disable
      

  2.   

    在onvisiblemonthchanged事件处理中写:protected void Calendar1_VisibleMonthChanged(object sender, MonthChangedEventArgs e)
    {
        var 最小日期 = DateTime.Now.Date.AddMonths(-6);
        var 最大日期 = DateTime.Now.Date.AddMonths(6);
        var vd = Calendar1.VisibleDate;
        if (vd.Year < 最小日期.Year || (vd.Year == 最小日期.Year && vd.Month < 最小日期.Month))
            Calendar1.VisibleDate = 最小日期;
        else if (vd.Year > 最大日期.Year || (vd.Year == 最大日期.Year && vd.Month > 最大日期.Month))
            Calendar1.VisibleDate = 最大日期;
    }