GDPR_erased
Top achievements
Rank 1
GDPR_erased
asked on 28 Jul 2014, 06:51 PM
I'm trying to set up a yearly calendar and have a muti view of months 2X6, so all 12 months show, pretty simple.
<telerik:RadCalendar ID="radCalendarYear" runat="server" MultiViewColumns="6" ShowRowHeaders="False" MultiViewRows="2"
EnableNavigation="False" EnableMonthYearFastNavigation="false"
UseColumnHeadersAsSelectors="false" ShowOtherMonthsDays="false" Width="99%">
</telerik:RadCalendar>
Now, I want to run through the whole year and set the absent dates for the year. I want to replace the month day with an "E" for excused, and a "U" for Unexcused , and set the background color to red or yellow.
I looked at the Day render process, example, and it does what I want, but I cannot get it to work for a multiview. So, am i using the wrong method? Should I use the Special Days process instead? And if so, how would I replace the cell text in this process?
Could anyone help me with a subroutine example of looping through a datatable (or an iList), and setting the text and color of a multi-view calendar for the corresponding matching dates (calendar date to datatable date)?
Special days? or DayRender?
Thanks so much
,
~bg
<telerik:RadCalendar ID="radCalendarYear" runat="server" MultiViewColumns="6" ShowRowHeaders="False" MultiViewRows="2"
EnableNavigation="False" EnableMonthYearFastNavigation="false"
UseColumnHeadersAsSelectors="false" ShowOtherMonthsDays="false" Width="99%">
</telerik:RadCalendar>
Now, I want to run through the whole year and set the absent dates for the year. I want to replace the month day with an "E" for excused, and a "U" for Unexcused , and set the background color to red or yellow.
I looked at the Day render process, example, and it does what I want, but I cannot get it to work for a multiview. So, am i using the wrong method? Should I use the Special Days process instead? And if so, how would I replace the cell text in this process?
Could anyone help me with a subroutine example of looping through a datatable (or an iList), and setting the text and color of a multi-view calendar for the corresponding matching dates (calendar date to datatable date)?
Special days? or DayRender?
Thanks so much
,
~bg
5 Answers, 1 is accepted
0
Shinu
Top achievements
Rank 2
answered on 29 Jul 2014, 05:53 AM
Hi Bill,
Please try the below C# code snippet to achieve your scenario.
C#:
Thanks,
Shinu.
Please try the below C# code snippet to achieve your scenario.
C#:
protected void radCalendarYear_DayRender(object sender, Telerik.Web.UI.Calendar.DayRenderEventArgs e){ DateTime date1 = new DateTime(2014, 11, 10); DateTime date2 = new DateTime(2015, 1, 26); if(e.Day.Date.Equals(date1)||(e.Day.Date.Equals(date2))) { //based on the condition write code for style day e.Cell.Style["background-color"] = "Orange"; }}Thanks,
Shinu.
0
GDPR_erased
Top achievements
Rank 1
answered on 29 Jul 2014, 06:24 PM
Thanks so much Shinu, but could I get one more pointer?
I have the property for the calendar: ShowOtherMonthsDays="false", so the dates do not show that carryover from month to month, however the day render's on both.. Please see the attached jpg. Is there something I can check so that the day that does not show will not be affected? I tried:
If e.Day.IsSelectable = True (only), that did not work.
If e.Cell.Text <> "", that did not work
I would like the February month not to show the red box. (It looks like a duplicate day visually.
Is that possible?
Thanks,
~bg
I have the property for the calendar: ShowOtherMonthsDays="false", so the dates do not show that carryover from month to month, however the day render's on both.. Please see the attached jpg. Is there something I can check so that the day that does not show will not be affected? I tried:
If e.Day.IsSelectable = True (only), that did not work.
If e.Cell.Text <> "", that did not work
I would like the February month not to show the red box. (It looks like a duplicate day visually.
Is that possible?
Thanks,
~bg
0
Shinu
Top achievements
Rank 2
answered on 30 Jul 2014, 02:49 AM
Hi Bill,
As a work around please try the below CSS code snippet which works fine at my end.
CSS:
Thanks,
Shinu.
As a work around please try the below CSS code snippet which works fine at my end.
CSS:
.rcOtherMonth{ background-color : White !important;}Thanks,
Shinu.
0
GDPR_erased
Top achievements
Rank 1
answered on 30 Jul 2014, 12:03 PM
Thanks, but the problem with the style is that the background color dissapears (good), however, the text still remains. Rather than change the text to, (to white on white), I finnaly got this to work the best for anyone else who might want to know. Thanks Shinu for the help!
Protected Sub radCalendarYear_DayRender(sender As Object, e As Telerik.Web.UI.Calendar.DayRenderEventArgs) Handles radCalendarYear.DayRender Try For Each row As Data.DataRow In dt.Rows Dim IsInMonth As Boolean = e.Day.Date.Month = e.View.MonthStartDate.Month If e.Day.Date.Equals(CType(row.Item("CalendarDate").ToString, DateTime).Date) And IsInMonth Then If row.Item("Excused").ToString = "E" Then e.Cell.Style("background-color") = "Orange" Else e.Cell.Style("background-color") = "Red" End If e.Cell.Text = row.Item("ReasonCode").ToString e.Cell.ToolTip = e.Day.Date & " " & row.Item("ReasonDescription").ToString e.Cell.Style("text-align") = "center" End If Next Catch ex As Exception ucMessage.DisplayError(Utilities.GetErrorMessage(ex, "An error occurred: ")) End Try End Sub Protected Function GetAttendanceDays() As DataTable Try Using db As New SqlConnection(ConfigurationManager.ConnectionStrings("XXXX").ConnectionString) Dim cmd As SqlCommand cmd = New SqlCommand("SP_Attendance", db) cmd.CommandType = CommandType.StoredProcedure cmd.Parameters.AddWithValue("@UserName", Page.User.Identity.Name) cmd.Parameters.AddWithValue("@XXXX", Request.QueryString("XXXX")) cmd.Parameters.AddWithValue("@AbsentTardy", "A") Using adapter As New SqlDataAdapter adapter.SelectCommand = cmd db.Open() adapter.SelectCommand.CommandType = CommandType.StoredProcedure Dim dt As New DataTable adapter.Fill(dt) Return dt End Using End Using Catch ex As Exception ucMessage.DisplayError(Utilities.GetErrorMessage(ex, "An error occurred: ")) Return Nothing End Try End Function0
Hi Bill,
I'm glad that you've managed to achieve the desired appearance.
If you want, you can also try accomplishing this task using programmatic special days as demonstrated in the attached sample.
Regards,
Eyup
Telerik
I'm glad that you've managed to achieve the desired appearance.
If you want, you can also try accomplishing this task using programmatic special days as demonstrated in the attached sample.
Regards,
Eyup
Telerik
Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.
