예제 #1
0
    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("&nbsp;"+"&nbsp;"+"&nbsp;"));
                        //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';";
            }
        }
    }
예제 #2
0
    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);
    }
예제 #3
0
    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);
    }