昨晚使用日历控件,发现将鼠标移到某天的数字上会提示“X月X日”,我忽然想为什么只能显示月日,不能显示年呢,我以为应该会有什么属性可以设置的,但是我花了很长时间都没有找到(不知道你有没有更好的方法,期待你能不吝指教)。

后来索性不找了,自己改程序重新显示,又花了大概半小时用下面的方法试成功了。

虽然改好了,能满足我的要求了,可是我不明白为什么没有一个属性直接修改,可以自定显示提示的格式。

后来索性不找了,自己改程序重新显示,又花了大概半小时用下面的方法试成功了。
1
Protected Sub Day_Render(ByVal sender As Object, ByVal e As DayRenderEventArgs) Handles Calendar1.DayRender
2
Dim strUrl As String = e.SelectUrl.ToString
3
Dim dtTheDay As Date = e.Day.Date
4
Dim strDay As String = dtTheDay.Day.ToString
5
Dim strStyle As String = "style=""color:black"""
6
7
Dim strTitle As String = "title=""" & dtTheDay.Year.ToString & "年" & dtTheDay.Month.ToString & "月" & dtTheDay.Day.ToString & "日"""
8
9
If e.Day.IsOtherMonth Then
10
strStyle = "style=""color:#999999"""
11
End If
12
If e.Day.IsToday Then
13
strStyle = "style=""color:black"""
14
End If
15
16
If e.Day.IsSelected Then
17
strStyle = "style=""color:White"""
18
End If
19
20
e.Cell.Controls.Clear()
21
e.Cell.Controls.Add(New LiteralControl("<a href=""" & strUrl & """ " & strStyle & " " & strTitle & ">" & strDay & "</a>"))
22
End Sub
Protected Sub Day_Render(ByVal sender As Object, ByVal e As DayRenderEventArgs) Handles Calendar1.DayRender2
Dim strUrl As String = e.SelectUrl.ToString3
Dim dtTheDay As Date = e.Day.Date4
Dim strDay As String = dtTheDay.Day.ToString5
Dim strStyle As String = "style=""color:black"""6

7
Dim strTitle As String = "title=""" & dtTheDay.Year.ToString & "年" & dtTheDay.Month.ToString & "月" & dtTheDay.Day.ToString & "日"""8

9
If e.Day.IsOtherMonth Then10
strStyle = "style=""color:#999999"""11
End If12
If e.Day.IsToday Then13
strStyle = "style=""color:black"""14
End If15

16
If e.Day.IsSelected Then17
strStyle = "style=""color:White"""18
End If19

20
e.Cell.Controls.Clear()21
e.Cell.Controls.Add(New LiteralControl("<a href=""" & strUrl & """ " & strStyle & " " & strTitle & ">" & strDay & "</a>"))22
End Sub
虽然改好了,能满足我的要求了,可是我不明白为什么没有一个属性直接修改,可以自定显示提示的格式。


浙公网安备 33010602011771号