Example #1
0
        //------------------------------------------------------------------------------------------
        protected override void Render(HtmlTextWriter writer)
        {
            Table table = new Table();

            table.BorderColor = BorderColor;
            table.BackColor   = BackColor;
            table.BorderStyle = BorderStyle;
            table.BorderWidth = BorderWidth;
            table.CellPadding = 0;
            table.CellSpacing = 0;

            int selectedmonth = DateTime.Now.Month;
            int selectedyear  = DateTime.Now.Year;

            WeavverCalendarMonthLoadEventArgs monthloadargs = new WeavverCalendarMonthLoadEventArgs(SelectedDateTime);

            if (MonthLoad != null)
            {
                MonthLoad(this, monthloadargs);
            }

            DateTime datetime = SelectedDateTime.Subtract(TimeSpan.FromDays(SelectedDateTime.Day));

            datetime    = datetime.Subtract(TimeSpan.FromDays(DayNumber(datetime.DayOfWeek) - 1));
            table.Width = Width;

            table.Rows.Add(new TableRow());
            TableCell header1 = new TableCell();

            header1.BackColor       = ColorTranslator.FromHtml("#AFB29C");
            header1.Height          = Unit.Parse("30px");
            header1.ColumnSpan      = 7;
            header1.HorizontalAlign = HorizontalAlign.Center;
            header1.Text            = MonthText(datetime.Month);
            table.Rows[0].Controls.Add(header1);

            table.Rows.Add(new TableRow());
            table.Rows[1].BackColor       = DaysBackColor;
            table.Rows[1].HorizontalAlign = HorizontalAlign.Center;
            AddHeaderColumn(table, "Sunday");
            AddHeaderColumn(table, "Monday");
            AddHeaderColumn(table, "Tuesday");
            AddHeaderColumn(table, "Wednesday");
            AddHeaderColumn(table, "Thursday");
            AddHeaderColumn(table, "Friday");
            AddHeaderColumn(table, "Saturday");
            table.Rows.Add(new TableRow());
            while (true)
            {
                TableCell daycell;
                if (selectedmonth == datetime.Month)
                {
                    daycell = AddDayColumn(table, datetime.Day.ToString(), NormalColor);
                }
                else
                {
                    daycell           = AddDayColumn(table, datetime.Day.ToString(), ShadeColor);
                    daycell.ForeColor = Color.LightGray;
                }
                WeavverCalendarDayLoadEventArgs dayloadargs = new WeavverCalendarDayLoadEventArgs(datetime, daycell);
                if (DayLoad != null)
                {
                    DayLoad(this, dayloadargs);
                }

                if (selectedmonth != datetime.Month &&
                    !GreaterMonth(selectedmonth, selectedyear, datetime.Month, datetime.Year) &&
                    datetime.DayOfWeek == DayOfWeek.Saturday)
                {
                    break;
                }
                else if (datetime.DayOfWeek == DayOfWeek.Saturday)
                {
                    table.Rows.Add(new TableRow());
                }
                datetime = datetime.AddDays(1);
            }

            table.Rows.Add(new TableRow());
            table.Rows[table.Rows.Count - 1].BackColor = HeaderBackColor;

            DropDownList monthlist = new DropDownList();

            monthlist.Items.Add("January");
            monthlist.Items.Add("February");
            monthlist.Items.Add("March");
            monthlist.Items.Add("April");
            monthlist.Items.Add("May");
            monthlist.Items.Add("June");
            monthlist.Items.Add("July");
            monthlist.Items.Add("August");
            monthlist.Items.Add("September");
            monthlist.Items.Add("October");
            monthlist.Items.Add("November");
            monthlist.Items.Add("December");
            monthlist.Width = Unit.Parse("100px");

            TableCell headera = new TableCell();

            headera.ColumnSpan = 2;

            TableCell headerb = new TableCell();

            headerb.ColumnSpan      = 3;
            headerb.HorizontalAlign = HorizontalAlign.Left;
            //headerb.Text                  = MonthText(datetime.Month);

            Button yearprevious = new Button();

            yearprevious.Text        = "-";
            yearprevious.BorderWidth = Unit.Parse("1px");
            yearprevious.BorderStyle = BorderStyle.Solid;
            yearprevious.Width       = Unit.Parse("22px");
            yearprevious.BorderColor = Color.DarkGray;

            TextBox year = new TextBox();

            year.Text        = " " + SelectedDateTime.Year.ToString();
            year.BorderWidth = Unit.Parse("1px");
            year.Height      = Unit.Parse("22px");
            year.BorderStyle = BorderStyle.Solid;
            year.BorderColor = Color.DarkGray;
            year.Width       = Unit.Parse("50px");

            Button yearnext = new Button();

            yearnext.Text        = "+";
            yearnext.BorderWidth = Unit.Parse("1px");
            yearnext.BorderStyle = BorderStyle.Solid;
            yearnext.BorderColor = Color.DarkGray;
            yearnext.Width       = Unit.Parse("22px");

            TableCell headerc = new TableCell();

            headerc.ColumnSpan      = 2;
            headerc.HorizontalAlign = HorizontalAlign.Right;

            headera.Controls.Add(yearprevious);
            headera.Controls.Add(year);
            headera.Controls.Add(yearnext);

            headerc.Controls.Add(monthlist);

            table.Rows[table.Rows.Count - 1].Style.Add("padding", "2");
            table.Rows[table.Rows.Count - 1].Controls.Add(headera);
            table.Rows[table.Rows.Count - 1].Controls.AddAt(1, headerb);
            table.Rows[table.Rows.Count - 1].Controls.AddAt(2, headerc);

            this.Controls.Add(table);
            base.Render(writer);
        }
Example #2
0
        //------------------------------------------------------------------------------------------
        protected override void Render(HtmlTextWriter writer)
        {
            Table table                   = new Table();
               table.BorderColor             = BorderColor;
               table.BackColor               = BackColor;
               table.BorderStyle             = BorderStyle;
               table.BorderWidth             = BorderWidth;
               table.CellPadding             = 0;
               table.CellSpacing             = 0;

               int selectedmonth             = DateTime.Now.Month;
               int selectedyear              = DateTime.Now.Year;

               WeavverCalendarMonthLoadEventArgs monthloadargs = new WeavverCalendarMonthLoadEventArgs(SelectedDateTime);
               if (MonthLoad != null)
               {
                    MonthLoad(this, monthloadargs);
               }

               DateTime datetime             = SelectedDateTime.Subtract(TimeSpan.FromDays(SelectedDateTime.Day));
               datetime                      = datetime.Subtract(TimeSpan.FromDays(DayNumber(datetime.DayOfWeek) - 1));
               table.Width                   = Width;

               table.Rows.Add(new TableRow());
               TableCell header1             = new TableCell();
               header1.BackColor             = ColorTranslator.FromHtml("#AFB29C");
               header1.Height                = Unit.Parse("30px");
               header1.ColumnSpan             = 7;
               header1.HorizontalAlign        = HorizontalAlign.Center;
               header1.Text                   = MonthText(datetime.Month);
               table.Rows[0].Controls.Add(header1);

               table.Rows.Add(new TableRow());
               table.Rows[1].BackColor       = DaysBackColor;
               table.Rows[1].HorizontalAlign = HorizontalAlign.Center;
               AddHeaderColumn(table, "Sunday");
               AddHeaderColumn(table, "Monday");
               AddHeaderColumn(table, "Tuesday");
               AddHeaderColumn(table, "Wednesday");
               AddHeaderColumn(table, "Thursday");
               AddHeaderColumn(table, "Friday");
               AddHeaderColumn(table, "Saturday");
               table.Rows.Add(new TableRow());
               while (true)
               {
                    TableCell daycell;
                    if (selectedmonth == datetime.Month)
                    {
                         daycell           = AddDayColumn(table, datetime.Day.ToString(), NormalColor);
                    }
                    else
                    {
                         daycell           = AddDayColumn(table, datetime.Day.ToString(), ShadeColor);
                         daycell.ForeColor = Color.LightGray;
                    }
                    WeavverCalendarDayLoadEventArgs dayloadargs = new WeavverCalendarDayLoadEventArgs(datetime, daycell);
                    if (DayLoad != null)
                    {
                         DayLoad(this, dayloadargs);
                    }

                    if (    selectedmonth != datetime.Month
                         && !GreaterMonth(selectedmonth, selectedyear, datetime.Month, datetime.Year)
                         && datetime.DayOfWeek == DayOfWeek.Saturday)
                    {
                         break;
                    }
                    else if (datetime.DayOfWeek == DayOfWeek.Saturday)
                    {
                         table.Rows.Add(new TableRow());
                    }
                    datetime = datetime.AddDays(1);
               }

               table.Rows.Add(new TableRow());
               table.Rows[table.Rows.Count - 1].BackColor       = HeaderBackColor;

               DropDownList monthlist        = new DropDownList();
               monthlist.Items.Add("January");
               monthlist.Items.Add("February");
               monthlist.Items.Add("March");
               monthlist.Items.Add("April");
               monthlist.Items.Add("May");
               monthlist.Items.Add("June");
               monthlist.Items.Add("July");
               monthlist.Items.Add("August");
               monthlist.Items.Add("September");
               monthlist.Items.Add("October");
               monthlist.Items.Add("November");
               monthlist.Items.Add("December");
               monthlist.Width               = Unit.Parse("100px");

               TableCell headera             = new TableCell();
               headera.ColumnSpan            = 2;

               TableCell headerb             = new TableCell();
               headerb.ColumnSpan            = 3;
               headerb.HorizontalAlign       = HorizontalAlign.Left;
               //headerb.Text                  = MonthText(datetime.Month);

               Button yearprevious           = new Button();
               yearprevious.Text             = "-";
               yearprevious.BorderWidth      = Unit.Parse("1px");
               yearprevious.BorderStyle      = BorderStyle.Solid;
               yearprevious.Width            = Unit.Parse("22px");
               yearprevious.BorderColor      = Color.DarkGray;

               TextBox year                  = new TextBox();
               year.Text                     = " " + SelectedDateTime.Year.ToString();
               year.BorderWidth              = Unit.Parse("1px");
               year.Height                   = Unit.Parse("22px");
               year.BorderStyle              = BorderStyle.Solid;
               year.BorderColor              = Color.DarkGray;
               year.Width                    = Unit.Parse("50px");

               Button  yearnext              = new Button();
               yearnext.Text                 = "+";
               yearnext.BorderWidth          = Unit.Parse("1px");
               yearnext.BorderStyle          = BorderStyle.Solid;
               yearnext.BorderColor          = Color.DarkGray;
               yearnext.Width                = Unit.Parse("22px");

               TableCell headerc             = new TableCell();
               headerc.ColumnSpan            = 2;
               headerc.HorizontalAlign       = HorizontalAlign.Right;

               headera.Controls.Add(yearprevious);
               headera.Controls.Add(year);
               headera.Controls.Add(yearnext);

               headerc.Controls.Add(monthlist);

               table.Rows[table.Rows.Count - 1].Style.Add("padding", "2");
               table.Rows[table.Rows.Count - 1].Controls.Add(headera);
               table.Rows[table.Rows.Count - 1].Controls.AddAt(1, headerb);
               table.Rows[table.Rows.Count - 1].Controls.AddAt(2, headerc);

               this.Controls.Add(table);
               base.Render(writer);
        }