13. oktober 2005 - 14:37
Der er
4 kommentarer og
1 løsning
Problemer med page_load
Hejsa.
Jeg er i fuld gang med at lave noget kalender, men har lidt problemer med at få den til at vise mine aftaler når jeg loader siden ind.
Den hilighter fint de datoer der er aftaler på, og når man går ind på dem så viser den også aftale subjecten, men den nuværende dag kommer tingene ikke frem på før jeg har bevæget mig væk fra den og så tilbage. Så viser den tingene.
Smider lige noget af det kode jeg bruger til tingene:
13. oktober 2005 - 14:41
#1
public partial class sc01_calendar_main
{
private DateTime today; //Nuværende dato
private DateTime selectedDate; //Den dato der vælges når man trykker på en dato i kalenderen
private Object[] dates; //Array hvori alle mine dato objekter ligger i
//Metode til at håndtere klik på kalenderen
protected void Date_Selected(object s, EventArgs e)
{
DateLabel.Text = SCCalendar.SelectedDate.ToShortDateString();
selectedDate = SCCalendar.SelectedDate;
}
protected void Page_Load(object sender, EventArgs e)
{
dates = ReturnApps();
SCCalendar.TodaysDate = today;
SCCalendar.SelectedDate = SCCalendar.TodaysDate;
DateLabel.Text = SCCalendar.SelectedDate.ToShortDateString();
}
/// <summary>
/// Method to generate html tables where appointment is shown
/// </summary>
/// <returns>Returns tables with appointments in them</returns>
protected string ShowAppointments()
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
string[] times = { "00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10" ,"11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23" };
//int[] times = { 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 };
foreach (string time in times) {
sb.Append(" <tr>\r\n");
sb.Append(" <td rowspan=\"2\" class=\"Calendar_time\"><span class=\"calendar_time_first\">" + time + "</span><span class=\"calendar_time_last\">00 </span></td>\r\n");
sb.Append(" <td class=\"calendar_appointment\">" + GetAppointments(time) + "</td>\r\n");
sb.Append(" </tr>\r\n");
sb.Append(" <tr>\r\n");
sb.Append(" <td class=\"calendar_appointment_line2\">2</td>\r\n");
sb.Append(" </tr>\r\n");
}
return sb.ToString();
}
protected String GetAppointments(String time)
{
DateTime DailyApp = selectedDate;//System.DateTime.Now; //Dato til at sammenligne med
foreach (Appointment appointment in dates)
{
DateTime temp = ToDateTime(appointment.Eventdate); //Omskriver eventdatoen til et DateTime format
if (DailyApp.Year.Equals(temp.Year) && DailyApp.Month.Equals(temp.Month) && DailyApp.Day.Equals(temp.Day) && temp.Hour.Equals(int.Parse(time)))
{
return "<a href=\"#\" class=\"\">" + temp.Hour + ":" + temp.Minute + " - " + appointment.Subject + "</a>";
}
}
return " ";
}
/// <summary>
/// Dayrender method which hilights dates with events on them
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void HilightAppointments(object sender, DayRenderEventArgs e)
{
dates = ReturnApps();
CalendarDay d = null;
TableCell c = null;
d = e.Day; //Datoen
c = e.Cell; //Cellen
foreach (Appointment appointment in dates)
{
DateTime date = ToDateTime(appointment.Eventdate);
date = new DateTime(date.Year, date.Month, date.Day);
if (date.Equals(d.Date))
{
c.Font.Bold = true;
c.BackColor = System.Drawing.Color.LightGray;
}
}
}