CaleMedlem sedan mars 200490 inlägg jag har sökt som en galning och nu är skallen helt tom..
det jag vill är att plocka ut datum ur en databas, dessa datum ska fylla en array för att sedan användas för DayRender så att jag kan byta bakgrundsfärgen på de dagar i en Kalender som det finns data kopplade till.
jag har hittat detta exempel som verkar göra just det förrutom att där lägger man manuellt in data i en array.
jag har hittat förklaringar hur man gör det i asp men jag lyckas inte översätta det till asp.net.
CaleMedlem sedan mars 200490 inlägg nähä..
men ok, finns det en bättre lösning då?
det jag vill är alltså att man ska kunna se vilka datum i kalendern som det finns data kopplade till (i databasen alltså)..
det här kan ju inte vara första gången nån vill göra det..?
CaleMedlem sedan mars 200490 inlägg tabellen "event" innehåller bl.a. fälten "event_date" (datum) och "event_long" (beskrivning av händelsen, ja jag vet.. long är inte optimalt som namn men det får duga i detta test)
vissa saker har jag tagit med här som är blockade men det är för att jag ska komma ihåg hur jag gör det sen om det behövs..
jag gjorde såhär:
Dim holidays(12, 31) As String
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
GetData()
End Sub
Private Sub GetData()
Dim strSQL1 As String = "SELECT * FROM event"
Dim dsEvents As New DataSet
Try
Dim myCommand1 As New OleDbCommand(strSQL1, myConnection)
Dim myAdapter1 As New OleDbDataAdapter()
myConnection.Open()
myAdapter1.SelectCommand = myCommand1
myAdapter1.Fill(dsEvents, "event")
Catch ex As Exception
'# Errorhantering, logga felmeddelande !!
lblMessage.Text = ex.Tostring
Finally
myConnection.Close()
End Try
Dim i As Integer
For i = 0 To dsEvents.Tables("event").Rows.Count - 1
Dim myDate As New Date
Dim strMyText As String
myDate = Convert.ToDateTime(dsEvents.Tables("event").Rows(i)("event_date"))
strMyText = dsEvents.Tables("event").Rows(i)("event_long".ToString)
holidays(myDate.Month, myDate.Day) = strMyText
Next
End Sub
Sub EventCalendar_DayRender(sender As Object, e As DayRenderEventArgs)
Dim d As CalendarDay
Dim c As TableCell
d = e.Day
c = e.Cell
If d.IsOtherMonth Then
c.Controls.Clear()
Else
Try
Dim Hol As String = holidays(d.Date.Month, d.Date.Day)
If Hol <> "" Then
'c.Controls.Add(New LiteralControl("<br>" + Hol))
c.BackColor = System.Drawing.Color.Gray
'c.BorderStyle = BorderStyle.Solid
End If
Catch exc As Exception
Response.Write(exc.Message())
End Try
End If
End Sub
<asp:Calendar id="EventCalendar" runat="server" OnDayRender="EventCalendar_DayRender"/>