象http://blog.mvpcn.net/yangyun_99/ 右边的那个日历。
如果有事件的话那天的日期上就可以有个连接,没有事件就什么没有连接,只有一个时间提示.
这样的日历怎么实现?可以提供源码或是思路吗??
如果有事件的话那天的日期上就可以有个连接,没有事件就什么没有连接,只有一个时间提示.
这样的日历怎么实现?可以提供源码或是思路吗??
解决方案 »
- 使用webServices回调怎么不出效果?
- ASP.NET如何弹出类似CS里边的操作界面啊
- 如何动态添加菜单
- 请大家介绍本C#的asp.net的书???
- 请教一个问题,如何获取,gridview.row[i]cells[j]所绑定的哪一列的字段名
- 带参数的模糊查询(Parameter传参)--在线等!
- 读取网页后,如何篡改ViewState ,然后再提交??
- repeater分页的问题.
- 谁有关于web上的map组件????急,公司需要
- 在C#中,怎么样去字符串的左边,或者右边的指定字符个数呢??
- 关于下载得问题。
- asp.net下生成的cookie,用javascript读出,但是如果cookie值是中文字符的话都是乱码,该如何解决呢?
<script language="vb" runat="server">
sub Cal_Render(sender as Object,e as DayRenderEventArgs)
e.Cell.Controls.Clear()
'e.Day.IsSelectable = false '删除日期的连接
dim vlink as new HyperLink()
vlink.Text = e.Day.DayNumberText
If e.Day.IsWeekend Then
vlink.ForeColor = System.Drawing.Color.red
else
vlink.ForeColor = System.Drawing.Color.black
end if dim dbconn as new Oledbconnection("Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath("db.mdb"))
dbconn.open()
dim dbcmd as new OledbCommand("select * from blog order by id desc",dbconn)
Dim dbRead as Object = dbcmd.ExecuteReader()
if datevalue(dbRead.GetValue(3)) = e.day.date then ' 当数据库里有相关日期的记录的时候就显示连接
vlink.NavigateUrl = "a.aspx?date=" & e.day.date
end if
e.Cell.Controls.add(vlink) if e.Day.IsOtherMonth then '删除不是这个月的日期
e.Cell.Controls.Clear()
end if If e.Day.IsWeekend Then '星期天显示的的日期为红色
e.Cell.ForeColor = System.Drawing.Color.red
End If
end sub
</script>这样不行。每次DayRender的时候一个月有30天。那么
dim dbconn as new Oledbconnection("Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath("db.mdb"))
dbconn.open()
dim dbcmd as new OledbCommand("select * from blog order by id desc",dbconn)
Dim dbRead as Object = dbcmd.ExecuteReader()
就要执行30次。这样页面就会出错了。什么方法可以只让他执行一次啊??
还有什么办法能做啊??大家为何都不响应一下呢?
帮帮我只有你帮我了。哎~~~
{
if (e.Day.Date == DateTime.Today)
e.Cell.Text = "<a href='ab.aspx'>23" + e.Day.Date + "</a>";
}
我是要数据库中。纪录中的日期对应日历中的日期啊。
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
tmp_str = "1,,,5,,,9,,,14,,,18" ‘我这里假设你将从数据库中读出来的日期的天取出来,串好
End Sub
Private Sub Calendar2_DayRender(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DayRenderEventArgs) Handles Calendar2.DayRender
e.Cell.Controls.Clear()
e.Day.IsSelectable = False
Dim flag As Integer
flag = InStr(tmp_str, Day(e.Day.Date).ToString) Dim vlink As New HyperLink
vlink.Text = e.Day.DayNumberText
If flag <> 0 Then
vlink.NavigateUrl = "a.aspx?date=" & e.Day.Date
e.Cell.Controls.Add(vlink)
Else
e.Cell.Controls.Add(vlink)
End If
If e.Day.IsOtherMonth Then '
e.Cell.Controls.Clear()
End If
End Sub试一试,看行不行,
Public Arr_tmp(10) As String
Public i As IntegerPrivate Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For i = 0 To 10
Arr_tmp(i) = i * 2
Next
End SubPrivate Sub Calendar2_DayRender(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DayRenderEventArgs) Handles Calendar2.DayRender
e.Cell.Controls.Clear()
e.Day.IsSelectable = False
Dim flag As Integer
flag = 1
For i = 0 To 6
If Arr_tmp(i) = Day(e.Day.Date) Then
flag = 0
End If
Next Dim vlink As New HyperLink
vlink.Text = e.Day.DayNumberText
If flag = 0 Then
vlink.NavigateUrl = "a.aspx?date=" & e.Day.Date
e.Cell.Controls.Add(vlink)
Else
e.Cell.Controls.Add(vlink)
End If
If e.Day.IsOtherMonth Then '
e.Cell.Controls.Clear()
End If
End Sub
如果我数据库里有100条记录
那么Public Arr_tmp(100) As String
怎么样写啊。 你结合一个数据库来写写看啊。
怎么样动态对Arr_tmp(数据库的记录总数)付值。就这里我不会啊。。
是不是说得不清楚?
Conn是你的数据库连接
Strsql=“你的SQL语句”
Dim MyCommand As SqlCommand = New SqlCommand(strsql, conn)
conn.Open()
Dim dr As SqlDataReader = MyCommand.ExecuteReader
Dim j as integer
Do While (dr.Read())
Arr_tmp(j)= day(dr("date"))
J=j+1
Loop
Arr_tmp(数据库记录的数量)
难道就直接给他一个固定的Arr_tmp(10)??
你有MSN或QQ吗。给我啊。我们那里聊聊。呵呵。。