public DayButton(ClickableTableCell _tc, int d, int m, int y, IPopupPage p, About pg) { // Přiřazení proměnných day = d; month = m; year = y; page = p; tc = _tc; // Event kliknutí tc.Click += lb_Click; tc.VerticalAlign = VerticalAlign.Top; tc.HorizontalAlign = HorizontalAlign.Right; tc.RowSpan = 1; tc.Wrap = false; cisloLabel = new Label(); cisloLabel.CssClass = "cisloLabel"; cisloLabel.Text = day.ToString(); bunkaLabel = new Label(); bunkaLabel.CssClass = "bunkaLabel"; tc.Controls.Add(cisloLabel); tc.Controls.Add(new LiteralControl("<br /><br />")); tc.Controls.Add(bunkaLabel); tc.ID = d + m + y + "cb"; tc.ID = d + m + y + "cb"; AsyncPostBackTrigger trg = new AsyncPostBackTrigger(); trg.ControlID = tc.ID; trg.EventName = "Click"; pg.updPan.Triggers.Add(trg); }
public void FillTable(int deviationMonth, Label MonthLabel, Label YearLabel) { System.Diagnostics.Debug.WriteLine("FILLTABLE INPUT DEVIATION " + deviationMonth); // mPage.updPan.Update(); // Vyplní obsah tabulky ResetTable(); int currentDay = 1; // proměnná určující "kolikátého" je int currentMonth = DateTime.Now.Month; int deviationYear = 0; savedDeviaton = deviationMonth; // Zjištění roku na základě aktuálního měsíce + zvolené odchylky uživatelem for (int i = 0; i < Math.Abs(deviationMonth); i++) { // Kladna odchylka if (deviationMonth > 0) { currentMonth++; if (currentMonth > 12) // přičtení roku { currentMonth = 1; deviationYear++; } } else { currentMonth--; if (currentMonth < 1) // odečtení roku { currentMonth = 12; deviationYear--; } } } int currentYear = DateTime.Now.Year + deviationYear; int daysInMonth = DateTime.DaysInMonth(currentYear, currentMonth); // Nastavení textu labelů měsíce a roku string monthText = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(currentMonth); StringBuilder strB = new StringBuilder(monthText); strB[0] = Char.ToUpper(monthText[0]); monthText = strB.ToString(); MonthLabel.Text = monthText; YearLabel.Text = currentYear.ToString(); int dayCount = DateTime.DaysInMonth(currentYear, currentMonth); int actualDay = DateTime.Now.Day; // Načtení rezervací z DB List <takenDate> takenDates = DateChecker.Instance.TakenDates(currentMonth, currentYear); // Naplnění jednoho řádku tabulky for (int y = 0; y < 6; y++) { TableRow tr = new TableRow(); tr.Height = 65; int w = 0; if (y == 0) // první den v měsíci nemusí být pondělí, zjisti tedy který den to je { DateTime testedDate = new DateTime(currentYear, currentMonth, currentDay); DayOfWeek testedDay = testedDate.DayOfWeek; switch (testedDay) { case DayOfWeek.Monday: w = 1; break; case DayOfWeek.Tuesday: w = 2; break; case DayOfWeek.Wednesday: w = 3; break; case DayOfWeek.Thursday: w = 4; break; case DayOfWeek.Friday: w = 5; break; case DayOfWeek.Saturday: w = 6; break; case DayOfWeek.Sunday: w = 7; break; default: break; } } // Naplnění sloupců daného řádku for (int x = 1; x < 8; x++) { // Kontrola zda číslo dne existuje v měsící a zda je daný den (po,ut,str..) v týdnu // Vytvoření nové buňky ClickableTableCell tc = new ClickableTableCell(); tc.Text = ""; tc.CssClass = "none"; tr.Cells.Add(tc); // přidání do řádku if (x < w) { continue; // tato buňka nepatří do tohoto měsíce } if (currentDay > dayCount) { continue; // tento měsíc už nemá více dnů } // Vypsaní čísla dne do tabulky // tc.HorizontalAlign = HorizontalAlign.Right; // tc.VerticalAlign = VerticalAlign.Top; // tc.Text = currentDay.ToString(); DayButton dayBut = new DayButton( tc, currentDay, currentMonth, currentYear, usedPage, mPage); tc.dayButton = dayBut; // Nastavení stavu dne (volný, zabraný, kolize) SetDayStatus(dayBut, currentDay, currentMonth, currentYear, takenDates); dayButtons.Add(dayBut); currentDay++; } ScheduleTable.Rows.Add(tr); } }