//------------------------------------------------------------------------------------------ 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); }
//------------------------------------------------------------------------------------------ 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); }