2

asp:Calendar-Element を次のようにカスタマイズしたいと思います。

1) 毎日、(不在、休日) などの 6 ~ 7 個のフレーズを含むドロップダウン リストがあります。クリックするオプションに応じて、そのデータの色が変わります。また、選択したオプチンをデータベースに保存する必要があります。

2) 特定のユーザーだけが過去の月を見ることができるようにする必要があります。他のすべてのユーザーには、前の月を選択するためのボタンはありません。

このカレンダーでそれは可能ですか?誰かがこのように変更したことがあり、ヒントを教えてもらえますか? または、そのようなカレンダーを自分で作成する必要がありますか?

ヒントをありがとう!

4

1 に答える 1

3

はい、asp.net カレンダーで行うことができますが、CSS と jQuery を使用して asp.net カレンダーをカスタマイズする必要があります。過去にもasp.netカレンダーを実装していました。以下のコードはあなたの助けのためのものです。

<style type="text/css">
    .Calendar {border:none;}
    .Calendar img{ border:none;}
    .Calendar .Title {background-color:#7D9459;background-image:url(../Images/title_bg.gif);border: 1px solid black;border-bottom-width: 0px;}
    .Calendar .Title td {font-family:verdana;font-size:11px;font-weight:bold;color:White;padding-top:1px;padding-bottom:1px;}
    .Calendar .DayHeader {background-color:#E3E0CD;background-image:url(../Images/header_bg.gif);color:#504C39;font-family:Verdana;font-size:11px;text-align:center;border-top:solid 1px #FFFFFF; border-left:solid 1px #FFFFFF; border-bottom:solid 1px #ACA899;border-right:solid 1px #C6C1AC; padding: 4px; font-weight:normal;}
    .Calendar .Day {width:90px;  height:70px;  text-align:center; vertical-align:top; font-family:Verdana; font-size:11px; color:Black; background-color:#FFFFFF;  border:solid 1px #C6C1AC; padding:2px;}
    .Calendar .OtherMonthDay {background-color:#F5F3E5;}
</style>

<asp:Calendar ID="MeetingCalendar" runat="server" CssClass="Calendar" TitleStyle-BackColor="Transparent"
                                CellPadding="0" BorderWidth="0px" Width="" DayNameFormat="Full" OnDayRender="MeetingCalendar_DayRender"
                                TitleStyle-CssClass="Title" DayHeaderStyle-CssClass="DayHeader" DayStyle-CssClass="Day"   
                                DayStyle-Width="90px" OtherMonthDayStyle-CssClass="Day OtherMonthDay" NextMonthText="<img src='../Images/next_wht.gif' alt='' style='float:right;' />"
                                PrevMonthText="<img src='../Images/prev_wht.gif' alt='' style='float:left;'/>" 
                                onvisiblemonthchanged="MeetingCalendar_VisibleMonthChanged">
                            </asp:Calendar>


protected void MeetingCalendar_DayRender(object sender, DayRenderEventArgs e)
        {
            string dayNumber = e.Day.Date.Day.ToString();
            e.Cell.Text = dayNumber + "<br />"; 

            e.Cell.Text += "<div align='center'>";
            e.Cell.Text += "    <a href='DailyMeetings.aspx?id=10' title='Day has meeting(s) scheduled.'>";
            e.Cell.Text += "            <img src='../Images/meeting.gif' height='25' width='25' alt='' border='0' />";
            e.Cell.Text += "        </a>";
            e.Cell.Text += "</div>";
        }
于 2013-11-14T08:51:36.820 に答える