Anamika Gupta Ответов: 1

Подсветка игрового времени в ASP календарь


Я создаю программное обеспечение, которое является системой назначения, я хочу помочь для ASP Calender я хочу, чтобы цвет Heighlight (Зеленый) в доступном слоте в календаре, а также Красный, которые недоступны, а остальные недоступны. Каждый день имеет 37 слотов.

Что я уже пробовал:

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindDocSpecially();
                sch_date.Attributes["min"] = DateTime.Now.ToString("yyyy-MM-dd");
            }
        }


 public void BindData()
        {
            DataTable dt = new DataTable();
            try
            {
               Ou1.OpenCon();
                SqlCommand cmd = new SqlCommand();
                cmd.CommandType = CommandType.StoredProcedure;
                Ou1.CloseCon();
                Ou1.ExecuteSP("SP_datecolor", cmd);
                SqlDataReader rdr = Ou1.GetReaderP(cmd);
               
                
                // Defines Array List
                ArrayList aList = new ArrayList();
                while (rdr.Read() == true)
                {
                    date_avl = rdr["app_date"].ToString();
                    count++;
                   // myCal.SelectedDates.Add((DateTime)rdr.GetSqlDateTime(0));
                }
                if (date_avl != "")
                { 
                
                
                
                }
                //myConnection.Close();

                // Clear the ArrayList
                aList.Clear();

            }
            catch (Exception ex)
            {
                throw ex;

            }

        }


        protected void sch_date_DayRender(object sender, DayRenderEventArgs e)
        {
            DateTime pastday = e.Day.Date;
            DateTime date = DateTime.Now;
            int year = date.Year;
            int month = date.Month;
            int day = date.Day;
            DateTime today = new DateTime(year, month, day);
            if (pastday.CompareTo(today) < 0)
            {
                e.Cell.BackColor = System.Drawing.Color.Gray;
                e.Day.IsSelectable = false;
            }

        }


        public void sch_date_SelectionChanged1(object sender, EventArgs e)
        {
         string userInput =   Convert.ToString(sch_date.SelectedDate = DateTime.Today);
         DateTime dateTime;
         if (DateTime.TryParse(userInput, out dateTime))
         {
             lblweek.Text = dateTime.DayOfWeek.ToString();
         } checkdays_doctor();
         if ((ddlSortBy.SelectedValue == "0") && (doc_type.SelectedValue == ""))
         {
             Page.ClientScript.RegisterStartupScript(Page.GetType(), "Msg", "alert('Please Select Doctors!!');", true);

         }

         if ((days_dtweek.Value != lblweek.Text) && (days_dtweek.Value != "Alltime"))
         {
             Page.ClientScript.RegisterStartupScript(Page.GetType(), "Msg", "alert('Doctor not Available in this day Please Select Correct Day');", true);

         }

            //Label3.Text = myCal.SelectedDate.ToLongDateString(); 
            //myCal.SelectedDayStyle.BackColor = System.Drawing.Color.DarkKhaki;
            //selectedDate = myCal.SelectedDate.ToLongDateString();



            BindData();
            
        }

       
       
    }
}

1 Ответов

Рейтинг:
2

parkavikkk

выберите доступную дату слот из БД и хранить в массиве (напр.: обр. добавить[youdate])
int cnt = arr.Рассчитывать;
для (int h = 0; h < cnt; h++)
{
Дата-время дата = дата-время.ParseExact(arr[h].ToString(), "M/d/yyyy", null);
Calendar1.SelectedDates.Добавить(дата);
Calendar1.SelectedDayStyle.BackColor = Цвет.Зеленый;
}

та же процедура для недоступных слотов.

Вы можете записать это в свой page_load, чтобы видеть выделенные даты в календаре во время загрузки страницы