0

Web 2012 の Visual Studio でカレンダー コントロールを使用して、SQL Server 2012 データベースから日付を取得できます (つまり、to dateおよびfrom dateで、カレンダーでこの日付を強調表示します)。to dateおよびfrom date

全体として、現時点で私のカレンダーには、2013 年 2 月 10 日 (今日まで) と 2013 年 4 月 10 日 (日付から) の日付がカレンダーで強調表示されており、これらの日付の間の日付が強調表示されています。また、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;

            }
        }
    }

}
4

2 に答える 2

0

たぶん、このコードが役立つかもしれません

Random randomGen = new Random();
KnownColor[] names = (KnownColor[])Enum.GetValues(typeof(KnownColor));
Color newColor = Color.FromKnownColor(names[randomGen.Next(names.Length)]);
于 2013-10-08T11:21:21.553 に答える