0

dataTable を asp.net カレンダーにバインドする方法を知りたいだけですが、ページの読み込み時に失敗しましたが、レーンに必要なものを説明するためにスード コードを作成しました。

    private void populateCalendar(DataTable dt)
    {

        foreach (var row in dt.Rows)
        {    //if dates are in dt chage background color to red 
            if(Calendar1.date)
        }
    }
4

1 に答える 1

0

あなたの質問を理解しているので、あなたのクエリを次のように解決しようとしました

ステップ 1: マークアップでドロップ カレンダー コントロールをドラッグします

  <asp:Calendar ID="Calendar1"  runat="server" ondayrender="Calendar1_DayRender"></asp:Calendar>

ステップ 2: Calendar1_DayRender で

   protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
    {
            DataTable dt = new DataTable();
            dt.Columns.Add("Date", typeof(DateTime));
            dt.Rows.Add(DateTime.Today);
            dt.Rows.Add(DateTime.Today.AddDays(10));
            dt.Rows.Add(DateTime.Today.AddDays(12));
            dt.Rows.Add(DateTime.Today.AddDays(8));
            dt.Rows.Add(DateTime.Today.AddDays(6));
            dt.Rows.Add(DateTime.Today.AddDays(9));
            dt.Rows.Add(DateTime.Today.AddDays(2));
            dt.Rows.Add(DateTime.Today.AddDays(1));
            dt.Rows.Add(DateTime.Today.AddDays(3));
            DateTime date = e.Day.Date;
            var query = from row in dt.AsEnumerable()
                    where row.Field<DateTime>("date") == date
                   select row;
            foreach (var d in query)
            {
                e.Cell.BackColor = System.Drawing.Color.Red;
            }

    }

注: 私の例で使用されている DataTable は、日付のコレクションです

于 2013-03-13T17:30:42.140 に答える