Yazıcağınız projede takvim uygulaması kullanmak isteyebilirsiniz.Asp de bulunan calender sizin ihtiyazcınızı karşılayacaktır.Peki calender uygulamanızda belirli günler üzerine küçük notlar almak isterseniz bunu nasıl yapıcağınızı bu makalede işleyeceğiz.
Öncelikle asp tarafına calendar atıyoruz.Attıktan sonra Design kısmmından Celandarınıza still verebilirsiniz.Stil verdikten sonra aşağıdaki şekilde asp tarafında kodunuz oluşucaktır.
Burada dikkat ediceğimiz husus Calendar a OnDayRender="Calendar1_DayRender" özelliğini eklemek.
<div>
<asp:Calendar ID="Calendar2" runat="server" OnDayRender="Calendar1_DayRender" BackColor="#ffffff" BorderColor="#33414E" BorderWidth="1px" DayNameFormat="Shortest" Font-Names="Verdana" Font-Size="8pt" ForeColor="#663399" Height="300px" ShowGridLines="True" Width="490px">
<DayHeaderStyle BackColor="#FFCC66" Font-Bold="True" Height="1px" />
<NextPrevStyle Font-Size="9pt" ForeColor="#FFFFCC" />
<OtherMonthDayStyle ForeColor="#CC9966" />
<SelectedDayStyle BackColor="#CCCCFF" Font-Bold="True" />
<SelectorStyle BackColor="#FFCC66" />
<TitleStyle BackColor="#33414E" Font-Bold="True" Font-Size="9pt" ForeColor="#FFFFCC" />
<TodayDayStyle BackColor="#FFCC66" ForeColor="White" />
</asp:Calendar>
</div>
Daha kod kısmına geçip aşağıdaki kodu yazıyoruz.
string[, ,] holidays = new String[13, 32, 3000];
OtomasyonEntities db = new OtomasyonEntities();
protected void Page_Load(object sender, EventArgs e)
{
List<Nobet> list = db.Nobet.ToList();
foreach (var item in list)
{
holidays[item.TarihGunu.Value.Month, item.TarihGunu.Value.Day, item.TarihGunu.Value.Year] = item.Ogretmen.AdSoyad;
}
}
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
string aHoliday;
DateTime theDate = e.Day.Date;
aHoliday = holidays[theDate.Month, theDate.Day, theDate.Year];
if (aHoliday != null)
{
e.Cell.Text = theDate.Day + "<br/>" + "<a href=" + e.SelectUrl + ">" +
aHoliday + "</a>";
}
}
Bu uygulamayı EntityFramework kullanarak yazdım.Sonuç olarak mantık hepsinde aynı olduğu için ado kullanan arkadaşlarda çevirebilirler çok rahat.Yapılan işte veritabanımızda bulunan nobet tablosundaki kişilerin adlarını nöbetçi oldukları günde gösterimini sağlamak.Sizde bu tarz projelerinizde kullanabilirsiniz.
İyi Çalışmalar.