【问题标题】:Randomly change the backcolor of selected dates in calendar asp.net C#随机更改日历asp.net C#中选定日期的背景颜色
【发布时间】:2018-05-30 22:44:18
【问题描述】:

使用 Visual Studio for web 2012 中的日历控件,我可以从 SQL Server 2012 数据库中获取日期(即 to datefrom date 并突出显示日历中的日期)我还可以突出显示 to datefrom date 之间的日期。

总而言之,在我的日历中,我的日历中突出显示了日期 02/10/2013(至今)和 04/10/2013(从日期开始)以及这些日期之间的日期。并且突出显示 2013 年 10 月 15 日(至今)和 2013 年 10 月 19 日(从日期开始),并突出显示这些日期之间的日期。

但是我希望能够随机更改日历中每个选定日期块的背景颜色?我该怎么做?

非常感谢

这里有一些代码用背景颜色突出显示日期并使其可选择等。这段代码工作得很好,但我希望能够做到以上几点?

                 protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
                 {
    if (dsHolidays != null)
    {
        foreach (DataRow dr in dsHolidays.Tables[0].Rows)
        {
            DateTime nextDate;
            DateTime endDate;
            nextDate = (DateTime)dr["date"];
            endDate = (DateTime)dr["date1"];
            if (nextDate <= e.Day.Date && endDate >= e.Day.Date)             
            {
                e.Cell.BackColor = System.Drawing.Color.Gray;

                // dates are unselectable
                e.Day.IsSelectable = false;
            }
        }
    }
    // makes the all the first dates selectable 
    foreach (DataRow dr in dsHolidays.Tables[0].Rows)
    {
        DateTime nextDate1;
        nextDate1 = (DateTime)dr["date"];
        {
            if (e.Day.Date == nextDate1)
            {
                e.Day.IsSelectable = true;
                e.Cell.ForeColor = System.Drawing.Color.Blue;

            }
        }
    }

}

【问题讨论】:

    标签: c# asp.net sql-server-2012


    【解决方案1】:

    也许这段代码可以提供帮助

    Random randomGen = new Random();
    KnownColor[] names = (KnownColor[])Enum.GetValues(typeof(KnownColor));
    Color newColor = Color.FromKnownColor(names[randomGen.Next(names.Length)]);
    

    【讨论】:

    • 我将如何使用上面添加的代码添加此代码。谢谢
    【解决方案2】:
    protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
    {
    
        if (e.Day.IsWeekend)
        {
            e.Day.IsSelectable = false;
            e.Cell.BackColor = System.Drawing.Color.Yellow;
        }
    
        if(e.Day.Date.Day%2==0 && !e.Day.IsOtherMonth && !e.Day.IsWeekend)
        {
            e.Day.IsSelectable = false;
            e.Cell.BackColor = System.Drawing.Color.Orange;
            e.Cell.ToolTip = "Booked";
    
        }
        if (e.Day.Date.Day % 2 != 0 && !e.Day.IsOtherMonth && !e.Day.IsWeekend)
        {
            e.Day.IsSelectable = false;
            e.Cell.BackColor = System.Drawing.Color.PaleGreen;
            e.Cell.ToolTip = "Available";
        }
        if(e.Day.Date.Day%5==0 && !e.Day.IsOtherMonth && !e.Day.IsWeekend )
        {
            e.Day.IsSelectable = false;
            e.Cell.BackColor = System.Drawing.Color.Green;
            e.Cell.ToolTip = "Fast Booking";
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-18
      • 2014-03-22
      • 2017-05-05
      • 1970-01-01
      • 1970-01-01
      • 2022-06-14
      • 1970-01-01
      • 2019-09-27
      相关资源
      最近更新 更多