protected void clShowTime_DayRender(object sender, DayRenderEventArgs e) { User user = (User)Session["Login"]; //自定义显示内容 CalendarDay calDay = e.Day; //获取表示呈现在空间中的单元格 TableCell tc = e.Cell; CNDate dt = ChinaDate.getChinaDate(calDay.Date);//农历转换对象 if (calDay.IsOtherMonth) { tc.Controls.Clear(); } else { try { HyperLink ahyperLink = new HyperLink(); ahyperLink.ImageUrl = "~/Images/add_Schedule.gif"; ahyperLink.ToolTip = "新增个人日程"; ahyperLink.NavigateUrl = "SaveMySchedule.aspx?today=" + calDay.Date.ToShortDateString(); tc.Controls.Add(new LiteralControl(" " + " " + " ")); tc.Controls.Add(ahyperLink); tc.Controls.Add(new LiteralControl("<br>" + dt.cnStrMonth + "月" + dt.cnStrDay)); //添加农历日期 tc.Controls.Add(new LiteralControl("<br>" + dt.cnSolarTerm)); //添加农历节气 tc.Controls.Add(new LiteralControl(dt.cnFtvl)); //添加节日 e.Cell.Attributes["onmouseover"] = "javascript:this.style.backgroundColor='#FFCCFF';cursor='hand';"; e.Cell.Attributes["onmouseout"] = "javascript:this.style.backgroundColor='#ffffff';"; IList <Schedule> schedules = ScheduleManager.SearchSchedule(calDay.Date.ToShortDateString(), -1, user.UserName, false); if (schedules != null) { string str = null; foreach (Schedule schedule in schedules) { HtmlAnchor ha = new HtmlAnchor(); ha.HRef = "SaveMySchedule.aspx?userId=" + user.UserId + "&today=" + calDay.Date.ToShortDateString(); try { str = schedule.Title.Substring(0, 3); } catch (Exception ex) { str = schedule.Title; } ha.InnerText = "@ " + schedule.BeginTime.Hour + ":" + schedule.BeginTime.Minute + str + "..."; //tc.Controls.Add(new LiteralControl(" "+" "+" ")); //tc.Controls.Add(new LiteralControl("<br>")); tc.Controls.Add(ha); } } } catch (Exception ex) { e.Cell.Attributes["onmouseover"] = "javascript:this.style.backgroundColor='#fff7ce';cursor='hand';"; e.Cell.Attributes["onmouseout"] = "javascript:this.style.backgroundColor='#ffffff';"; } } }
void update_days(bool flag) { GameObject days_obj = transform.FindChild("days").gameObject; GameObject select = null; int maxDays = DateTime.DaysInMonth(_year, _month); DateTime fisrt = new DateTime(_year, _month, 1); DayOfWeek week = fisrt.DayOfWeek; int start = MyUtilTools.GetWeekDays(week);//这个月的第一天 int preMonth = _month - 1; int preYear = _year; if (preMonth == 0) { preMonth = 12; preYear--; } int stand = start == 0 ? 1 : 0; int temp = start == 0 ? 7 : start; int preLastDay = DateTime.DaysInMonth(preYear, preMonth); int dayIndex = preLastDay - temp + 1; int dayCount = 0; int nextMonth = _month; int nextYear = _year; bool nextMonthStart = false; bool thisMonthStart = false; for (int i = 0; i < 6; i++) { GameObject row_obj = days_obj.transform.FindChild("row" + i).gameObject; if (i <= stand) { for (int j = 0; j < 7; j++) { GameObject day = row_obj.transform.FindChild("col" + j).gameObject; if (flag) { UIButton button = day.GetComponent <UIButton>(); EventDelegate event_select = new EventDelegate(this, "doSelect"); event_select.parameters[0] = new EventDelegate.Parameter(); event_select.parameters[0].obj = day; button.onClick.Add(event_select); } if (dayIndex < preLastDay - 1 && !thisMonthStart) { day.SetActive(false); } else { if (!thisMonthStart && dayIndex > preLastDay) { thisMonthStart = true; dayIndex = 1; preMonth++; if (preMonth > 12) { preMonth = 1; preYear++; } } day.SetActive(true); UILabel label = day.transform.FindChild("gl").GetComponent <UILabel>(); label.text = dayIndex + ""; label = day.transform.FindChild("nl").GetComponent <UILabel>(); if (dayIndex == DateTime.Now.Day && preMonth == DateTime.Now.Month && preYear == DateTime.Now.Year) { label.text = "今天"; } else { DateTime dateTime = DateTime.Parse(preYear + "-" + MyUtilTools.numToString(preMonth) + "-" + MyUtilTools.numToString(dayIndex) + " 00:00:00"); CNDate cnDate = ChinaDate.getChinaDate(dateTime); if (!cnDate.cnFtvl.Equals("")) { label.text = cnDate.cnFtvl; } else if (!cnDate.cnFtvs.Equals("")) { label.text = cnDate.cnFtvs; } else if (!cnDate.cnSolarTerm.Equals("")) { label.text = cnDate.cnSolarTerm; } else { label.text = cnDate.cnStrDay; } } if (selectIndex == -1 && _day == dayIndex && nextMonth == _month && nextYear == _year) { selectIndex = dayCount; } } CalendarData cd = day.GetComponent <CalendarData>(); cd.Value = MyUtilTools.numToString(preYear) + "-" + MyUtilTools.numToString(preMonth) + "-" + MyUtilTools.numToString(dayIndex); cd.Index = dayCount; dayIndex++; dayCount++; } } else { for (int j = 0; j < 7; j++) { GameObject day = row_obj.transform.FindChild("col" + j).gameObject; if (flag) { UIButton button = day.GetComponent <UIButton>(); EventDelegate event_select = new EventDelegate(this, "doSelect"); event_select.parameters[0] = new EventDelegate.Parameter(); event_select.parameters[0].obj = day; button.onClick.Add(event_select); } if (nextMonthStart) { day.SetActive(false); } else { day.SetActive(true); UILabel label = day.transform.FindChild("gl").GetComponent <UILabel>(); label.text = dayIndex + ""; label = day.transform.FindChild("nl").GetComponent <UILabel>(); if (dayIndex == DateTime.Now.Day && nextMonth == DateTime.Now.Month && nextYear == DateTime.Now.Year) { label.text = "今天"; } else { DateTime dateTime = DateTime.Parse(nextYear + "-" + MyUtilTools.numToString(nextMonth) + "-" + MyUtilTools.numToString(dayIndex) + " 00:00:00"); CNDate cnDate = ChinaDate.getChinaDate(dateTime); if (!cnDate.cnFtvl.Equals("")) { label.text = cnDate.cnFtvl; } else if (!cnDate.cnFtvs.Equals("")) { label.text = cnDate.cnFtvs; } else if (!cnDate.cnSolarTerm.Equals("")) { label.text = cnDate.cnSolarTerm; } else { label.text = cnDate.cnStrDay; } } if (selectIndex == -1 && _day == dayIndex && nextMonth == _month && nextYear == _year) { selectIndex = dayCount; } CalendarData cd = day.GetComponent <CalendarData>(); cd.Value = MyUtilTools.numToString(nextYear) + "-" + MyUtilTools.numToString(nextMonth) + "-" + MyUtilTools.numToString(dayIndex); cd.Index = dayCount; dayIndex++; if (dayIndex > maxDays) {//下一个月的天数 nextMonthStart = true; dayIndex = 1; nextMonth++; if (nextMonth > 12) { nextMonth = 1; nextYear++; } } } dayCount++; } } } int row = selectIndex / 7; int col = selectIndex % 7; select = days_obj.transform.FindChild("row" + row).FindChild("col" + col).gameObject; if (flag) { selectIndex = -1; } doSelect(select); }
void _update() { if (list_container == null) { list_container = needshow[0].transform.FindChild("list").FindChild("body").FindChild("container"); texture1 = Resources.Load <Texture>("pic/time-event1"); texture2 = Resources.Load <Texture>("pic/time-event2"); texture3 = Resources.Load <Texture>("pic/time-event3"); texture4 = Resources.Load <Texture>("pic/time-event4"); TimeLineRefresh refresh = needshow[0].AddComponent <TimeLineRefresh>(); refresh.timeEvent = this; } if (Calendar.selectTexture == null) { Calendar.selectTexture = Resources.Load <Texture>("pic/time-sb"); } list_container.parent.GetComponent <UIPanel>().clipOffset = Vector2.zero; list_container.parent.localPosition = new Vector3(0, 0, 0); UILabel year_label = list_container.FindChild("up").GetComponent <UILabel>(); year_label.text = MyUtilTools.numToString(_year) + "年" + MyUtilTools.numToString(_month) + "月"; Transform days_trans = list_container.FindChild("days"); int maxDays = DateTime.DaysInMonth(_year, _month); DateTime fisrt = new DateTime(_year, _month, 1); DayOfWeek week = fisrt.DayOfWeek; int start = MyUtilTools.GetWeekDays(week);//这个月的第一天 int preMonth = _month - 1; int preYear = _year; if (preMonth == 0) { preMonth = 12; preYear--; } int stand = start == 0 ? 1 : 0; int temp = start == 0 ? 7 : start; int preLastDay = DateTime.DaysInMonth(preYear, preMonth); int dayIndex = preLastDay - temp + 1; int dayCount = 0; int nextMonth = _month; int nextYear = _year; bool nextMonthStart = false; bool thisMonthStart = false; for (int i = 0; i < 6; i++) { GameObject row_obj = days_trans.FindChild("row" + i).gameObject; if (i <= stand) { for (int j = 0; j < 7; j++) { GameObject day = row_obj.transform.FindChild("col" + j).gameObject; UIButton button = day.GetComponent <UIButton>(); if (button.onClick.Count == 0) { EventDelegate event_select = new EventDelegate(this, "doSelect"); event_select.parameters[0] = new EventDelegate.Parameter(); event_select.parameters[0].obj = day; button.onClick.Add(event_select); } if (dayIndex < preLastDay - 1 && !thisMonthStart) { day.SetActive(false); } else { if (!thisMonthStart && dayIndex > preLastDay) { thisMonthStart = true; dayIndex = 1; preMonth++; if (preMonth > 12) { preMonth = 1; preYear++; } } day.SetActive(true); UILabel label = day.transform.FindChild("gl").GetComponent <UILabel>(); label.text = dayIndex + ""; label = day.transform.FindChild("nl").GetComponent <UILabel>(); if (dayIndex == DateTime.Now.Day && preMonth == DateTime.Now.Month && preYear == DateTime.Now.Year) { label.text = "今天"; } else { DateTime dateTime = DateTime.Parse(preYear + "-" + MyUtilTools.numToString(preMonth) + "-" + MyUtilTools.numToString(dayIndex) + " 00:00:00"); CNDate cnDate = ChinaDate.getChinaDate(dateTime); if (!cnDate.cnFtvl.Equals("")) { label.text = cnDate.cnFtvl; } else if (!cnDate.cnFtvs.Equals("")) { label.text = cnDate.cnFtvs; } else if (!cnDate.cnSolarTerm.Equals("")) { label.text = cnDate.cnSolarTerm; } else { label.text = cnDate.cnStrDay; } } if (selectIndex == -1 && _day == dayIndex && nextMonth == _month && nextYear == _year) { selectIndex = dayCount; } } _update_flags(day, preYear, preMonth, dayIndex); CalendarData cd = day.GetComponent <CalendarData>(); cd.Value = MyUtilTools.numToString(preYear) + "-" + MyUtilTools.numToString(preMonth) + "-" + MyUtilTools.numToString(dayIndex); cd.Index = dayCount; dayIndex++; dayCount++; } } else { for (int j = 0; j < 7; j++) { GameObject day = row_obj.transform.FindChild("col" + j).gameObject; UIButton button = day.GetComponent <UIButton>(); if (button.onClick.Count == 0) { EventDelegate event_select = new EventDelegate(this, "doSelect"); event_select.parameters[0] = new EventDelegate.Parameter(); event_select.parameters[0].obj = day; button.onClick.Add(event_select); } if (nextMonthStart) { day.SetActive(false); } else { day.SetActive(true); UILabel label = day.transform.FindChild("gl").GetComponent <UILabel>(); label.text = dayIndex + ""; label = day.transform.FindChild("nl").GetComponent <UILabel>(); if (dayIndex == DateTime.Now.Day && nextMonth == DateTime.Now.Month && nextYear == DateTime.Now.Year) { label.text = "今天"; } else { DateTime dateTime = DateTime.Parse(nextYear + "-" + MyUtilTools.numToString(nextMonth) + "-" + MyUtilTools.numToString(dayIndex) + " 00:00:00"); CNDate cnDate = ChinaDate.getChinaDate(dateTime); if (!cnDate.cnFtvl.Equals("")) { label.text = cnDate.cnFtvl; } else if (!cnDate.cnFtvs.Equals("")) { label.text = cnDate.cnFtvs; } else if (!cnDate.cnSolarTerm.Equals("")) { label.text = cnDate.cnSolarTerm; } else { label.text = cnDate.cnStrDay; } } if (selectIndex == -1 && _day == dayIndex && nextMonth == _month && nextYear == _year) { selectIndex = dayCount; } _update_flags(day, nextYear, nextMonth, dayIndex); CalendarData cd = day.GetComponent <CalendarData>(); cd.Value = MyUtilTools.numToString(nextYear) + "-" + MyUtilTools.numToString(nextMonth) + "-" + MyUtilTools.numToString(dayIndex); cd.Index = dayCount; dayIndex++; if (dayIndex > maxDays) {//下一个月的天数 nextMonthStart = true; dayIndex = 1; nextMonth++; if (nextMonth > 12) { nextMonth = 1; nextYear++; } } } dayCount++; } } } int row = selectIndex / 7; int col = selectIndex % 7; GameObject select = days_trans.FindChild("row" + row).FindChild("col" + col).gameObject; doSelect(select); }