---
title: "asp:Calendar"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/57353-asp-calendar"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Arne"
published: "2002-10-29T07:55:54.000Z"
updated: "2002-10-31T17:34:29.000Z"
replies: 7
views: 355
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/57353-asp-calendar"
---

# asp:Calendar

## #1 — Arne, 2002-10-29T07:55Z

Jag har en asp:Calendar och vill köra den mot en SQL databas.
Jag vill skriva ut t.ex ett OK om det finns en notering i databasen som har samma datum som någon av dagarna i den visade månadens kalender. 

Till exempel har jag en notering datumen 2002-10-11 och 2002-10-23. I respektive datum celler som har dessa datum i kalendern ska det stå t.ex ett OK. De andra cellerna ska bara visa datumen.

Går detta eller är jag helt ute och cyklar?

Permalänk: https://www.webforum.nu/p/57353

## #2 — NETwork, 2002-10-29T08:02Z

Visst går det! Detta gör du med dayrendern som är en slags loop som rullar igenom dag för dag i din kalender. Där kan du stoppa in/sätta värden på de olika cellerna.

Här har du ett enkelt kodexempel som du kan titta på:
<http://www.dotnetjunkies.com/quickstart/util/srcview.aspx?path=/quickstart/aspplus/samples/webforms/ctrlref/webctrl/Calendar/Calendar5.src&file=CS\calendar5.aspx&font=3>

Och så här blir resultatet:
<http://www.dotnetjunkies.com/quickstart/aspplus/samples/webforms/ctrlref/webctrl/Calendar/VB/Calendar5.aspx>

Permalänk: https://www.webforum.nu/p/836985

## #3 — Grynet, 2002-10-29T08:02Z

Det sista (5:te) exemplet på denna sidan borde vara vad du söker

<http://samples.gotdotnet.com/quickstart/aspplus/samples/webforms/ctrlref/webctrl/calendar/doc_cal.aspx>

Permalänk: https://www.webforum.nu/p/836987

## #4 — Grynet, 2002-10-29T08:03Z

bah, han inte svara först..inte ens en minut emellan  x(

Permalänk: https://www.webforum.nu/p/836988

## #5 — Arne, 2002-10-29T08:06Z

Oj

Oj då, här var det snabba ryck. Man han inte klicka ner webbfönstrer innan det sa pling i mail lådan.

Ska genast förkovra mig i exemplen....

Tack för de snabba svaren.

Permalänk: https://www.webforum.nu/p/836989

## #6 — Arne, 2002-10-30T10:33Z

Får inte till det....

Det exempel jag använde var:

<http://www.dotnetjunkies.com/quickstart/util/srcview.aspx?path=/quickstart/aspplus/samples/webforms/ctrlref/webctrl/Calendar/Calendar5.src&file=VB\calendar5.aspx&font=3> 

Mitt problem är hur jag ska omvandla exemplet nedan till att hämta data från min sql server och lopa igenom min databas och kolla om det finns något datum som överensstämmer med månadens dagar och finns det det så ska jag få ett OK i den aktuella cellen. Hur ända in i baljan gör jag det?

Jag är nybörjare med NET.....

        
        Dim holidays(12,31) as String

        Sub Page_Load(sender As Object, e As EventArgs)
            holidays(1,1)   = "New Year's Day"
              holidays(1,26)  = "Australia Day"
            holidays(2,2)   = "Groundhog Day"
            holidays(2,14)  = "Valentine's Day"
            holidays(3,17)  = "St. Patrick's Day"
            holidays(4,1)   = "April Fool's Day"
            holidays(5,1)   = "May Day"
            holidays(6,15)  = "My Birthday"
            holidays(7,15)  = "My Anniversary"
            holidays(8,15)  = "My Mother's Birthday"
            holidays(9,24)  = "Autumnal Equinox"
            holidays(12,26) = "Boxing Day"
        End Sub

        Sub Calendar1_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))
                    End If
                Catch exc as Exception
                    Response.Write (exc.ToString())
                End Try
            End If
        End Sub

Permalänk: https://www.webforum.nu/p/837851

## #7 — NETwork, 2002-10-31T06:59Z

Du kan använda samma teknik. I exemplet har de en array som de sätter statiskt i koden, men det går naturligtvis även att stoppa in dina data på motsvarande sätt. Hämta dina datum, stoppa in dem i en array som ser likadan ut så behöver du inte modifiera koden så mycket! I ditt fall ska du ju bara skriva ut OK, så då räcker det med en if-sats där du skriver OK om datumet finns, annars gör du inget i den cellen.

```
Dim thisDate As String = myDateArray(d.Date.Month,d.Date.Day)
If thisDate <> "" Then
  c.Controls.Add(new LiteralControl("OK!"))
```

Permalänk: https://www.webforum.nu/p/838443

## #8 — Arne, 2002-10-31T17:34Z

Får inte till det

Hmm, jag har nog tagit vatten över huvudet......

Jag måste erkänna att array är nytt för mig när det gäller att hämta ur en databas. Har nu försökt hela dagen och jag får bara error. 
Kan jag få en hjälpande hand som talar om för mig vad jag gör för fel.....

	Dim myDateArray(12,31) as String

    Sub Page_Load(sender As Object, e As EventArgs)

            MyConnection = New SqlConnection("Data Source=(local);" & "Initial Catalog=mindatabas;" & "User ID=sa;" & "Password=")
            MyCommand = New SqlCommand("select tavlingdatum from kalender", MyConnection)
            MyConnection.Open()

            dr = MyCommand.ExecuteReader()
                While dr.Read()
    				If dr("tavlingdatum") \<\> "" Then
						myDateArray = "(" & replace(Right(dr("tavlingdatum"),5),"-", ",") & ")\<br\>"										
    				End If
                End While

            MyConnection.Close()
        end sub

     Sub Calendar1_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 thisDate As String = myDateArray(d.Date.Month,d.Date.Day)
					If thisDate \<\> "" Then
				c.Controls.Add(new LiteralControl("OK!"))
		End If
             Catch exc as Exception
                 Response.Write (exc.ToString())
             End Try
         End If
     End Sub

Permalänk: https://www.webforum.nu/p/838865

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/57353-asp-calendar
