ASP.Netのお勉強

カレンダー@ASP.Net

カレンダーを表示します。

1.カレンダーに予定を表示するには、DayRenderをハンドルしたメソッドを作成します。
 カレンダーのセルを表示する時に、呼ばれます。
 以下では、2008/1/20に予定を追加してます。

2.セルが選択された場合は、SelectionChangedをハンドルしたメソッドを作成します。
 以下では、選択された日付をラベルに表示しています。
 予定をDBに書き込む処理を書くのもいいと思います。

●aspx

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Calendar.aspx.vb" Inherits="Calendar" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>カレンダー</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Calendar ID="Calendar1" runat="server" Height="500px" ShowGridLines="True" Width="500px">
        </asp:Calendar>
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </div>
    </form>
</body>
</html>


●vb

Partial Class Calendar
    Inherits System.Web.UI.Page


    Sub calendar1_DayRender(ByVal sender As Object, ByVal e As DayRenderEventArgs) Handles Calendar1.DayRender

        '2008/1/20のセルに予定を書き込みます。
        Dim testDate As Date = New Date(2008, 1, 20)
        If e.Day.Date.Equals(testDate) Then
            e.Cell.Controls.Add(New LiteralControl("<BR>9:30~<BR>予定"))
        End If
    End Sub

    Protected Sub Calendar1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Calendar1.SelectionChanged

        '選択された日付をラベルに表示します。
        Me.Label1.Text = Me.Calendar1.SelectedDate

    End Sub

End Class

Copyright (C) ASP.Netのお勉強. All Rights Reserved.