Hey Tweakers,
Ik maak gebruik van het calendar-control en kijk tijdens de dayrender voor elke dag in de database
of op die datum iets in de database staat.
Is dit het geval dan tel ik de minuten die deze afspraak telt en ga verder naar de volgende datum in de database.
Zo tel ik dus alle afspraken van één datum bij elkaar op om zo op een totaal aantal minuten voor een dag te komen. Ze kan ik dan weer in de calender weergeven hoe vol een dag zit.
Alleen worden gewoon alle dagen bij elkaar opgeteld
Dit is wat er dan uitkomt

Zoals je zit worden de afspraken telkens bij elkaar opgetelt als er weer een nieuwe afspraak gevonden is.
Dus telkens als het "groen" een stukje omhoog gaat is er een nieuwe afspraak gevonden.
Zolang er geen nieuwe afspraak gevonden is blijft het vlakje even hoog (dit zou dus gewoon weg moeten zijn zolang er geen nieuwe afspraak is gevonden)
Wie ziet wat ik niet zie
Ik maak gebruik van het calendar-control en kijk tijdens de dayrender voor elke dag in de database
of op die datum iets in de database staat.
Is dit het geval dan tel ik de minuten die deze afspraak telt en ga verder naar de volgende datum in de database.
Zo tel ik dus alle afspraken van één datum bij elkaar op om zo op een totaal aantal minuten voor een dag te komen. Ze kan ik dan weer in de calender weergeven hoe vol een dag zit.
Alleen worden gewoon alle dagen bij elkaar opgeteld
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
| Protected Sub CalendarDRender(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DayRenderEventArgs)
'If the month is CurrentMonth
If Not e.Day.IsOtherMonth Then
'De dag waar we nu inzitten is van de geselecteerd maand. Nu halen we alle afspraken uit de database met de datum
'van de calendar datum.
Dim EDayStart As Date = e.Day.Date
Dim EDayEind As Date = EDayStart.AddDays(1)
myda = New SqlDataAdapter("Select * from TBLafspraken where StartDatumTijd >= '" & EDayStart & "' AND StartDatumTijd < '" & EDayEind & "';", myconnection)
myda.Fill(ds, "TBLafspraken")
Dim dr As DataRow
Dim TotaalTijdVerschil As Long = 0
Dim TijdVerschil As Long = 0
'Door alle gevonden afspraken lopen
For Each dr In ds.Tables("TBLafspraken").Rows
'If EventDate is not Null
If Not dr("StartDatumTijd") Is DBNull.Value Then
'nu we weten dat de calendardag een afspraak heeft gaan we kijken hoe vol deze dag zit
Dim StartTijd As DateTime = dr("StartDatumTijd")
Dim EindTijd As DateTime = dr("EindDatumTijd")
'Het verschil tussen de afspraken in minuten
TijdVerschil = DateDiff(DateInterval.Minute, StartTijd, EindTijd)
'De totale verschiltijd
TotaalTijdVerschil = (TotaalTijdVerschil + TijdVerschil)
'einde controle op geen gevonden afspraken
End If
'einde door alle gevonden afspraken lopen
Next
'einde maandcontrole
End If
End Sub |
Dit is wat er dan uitkomt

Zoals je zit worden de afspraken telkens bij elkaar opgetelt als er weer een nieuwe afspraak gevonden is.
Dus telkens als het "groen" een stukje omhoog gaat is er een nieuwe afspraak gevonden.
Zolang er geen nieuwe afspraak gevonden is blijft het vlakje even hoog (dit zou dus gewoon weg moeten zijn zolang er geen nieuwe afspraak is gevonden)
Wie ziet wat ik niet zie