动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
  
   .Net → 阅读文章

 Calendar Web 控件的事件

作者来源: 
阅读 数 566 人次 , 2006-3-29 4:29:00 



calendar web 控件所支持的事件分别为ondayrender、onvisiblemonthchanged 以及onselectionchanged 这三个事件,接下来我们来了解如何使用。

onselectionchanged 事件
onselectionchanged 事件当使用者点选月历控件上的不同日期,或选了整月或整周时触发。其宣告语法为:

sub onselectionchanged(sender as object, e as eventares)
...
end sub


下列范例显示使用者所点选的日期:

<html>
<form runat="server">
<asp:calendar id="cala" runat="server"
selectionmode="dayweekmonth" showgridlines="true"
shownextprevmonth="true" nextmonthtext="[next]"
selecteddaystyle-backcolor="#dbdbdb"
onselectionchanged="cala_sc"/>
</form>
<asp:label id="label1" runat="server"/>
<script language="vb" runat="server">
sub cala_sc(sender as object, e as eventargs)
label1.text="您所点选的日期为: " & cala.selecteddate
end sub
</script>
</html>



  上述范例当使用者选取整周或整个月时,只能显示所选取的第一天;若要显示被选取的范围,利用selecteddates 集合来取得使用者点选的范围。下列范例可以显示使用者选取的整周或整月:

<html>
<form runat="server">
<asp:calendar id="cala" runat="server"
selectionmode="dayweekmonth" showgridlines="true"
shownextprevmonth="true" nextmonthtext="[next]"
selecteddaystyle-backcolor="#dbdbdb"
onselectionchanged="cala_sc"/>
</form>
<asp:label id="label1" runat="server"/>
<script language="vb" runat="server">
sub cala_sc(sender as object, e as eventargs)
label1.text="您所点选的日期为: " & cala.selecteddate
if cala.selecteddates.count > 1 then
label1.text + = " 至" &
cala.selecteddates.item(cala.selecteddates.count-1)
end if
end sub
</script>
</html>


由于selecteddates 是集合对象,我们当然可以加入一些特定的日期到集合中,只要利用selecteddates.add 方法即可。另外selecteddates 集合中有selectrange 属性可以用来指定某个范围的日期。下列范例让使用者输入指定范围的日期,然后利用calendar web 控件显示:

<html>
<form runat="server">
请输入日期范围(格式yyyy/mm/dd):<br>
从: <asp:textbox id="text1" runat="server"/>
至: <asp:textbox id="text2" runat="server"/>
<asp:button id="btnok" text="确定" onclick="btnok_click"
runat="server"/><br>
<asp:calendar id="cala" runat="server"
selectionmode="dayweekmonth" showgridlines="true"
shownextprevmonth="true" nextmonthtext="[next]"
selecteddaystyle-backcolor="#dbdbdb"/>
</form>
<script language="vb" runat="server">
sub btnok_click(sender as object, e as eventargs)
cala.selecteddates.selectrange(text1.text, text2.text)
end sub
</script>
</html>



onvisiblemonthchanged 事件
onvisiblemonthchanged 事件当使用者点选月历控件标题列上的上个月或下个月按钮时触发。其宣告语法为:

sub onvisiblemonthchanged(sender as object, e as monthchangedeventargs)
...
end sub>

其中参数e 有两个属性,如下表所示:


ondayrender 事件
ondayrender 事件当月历控件在产生每一天的表格时触发。其宣告语法为:

sub ondayrender(sender as object, e as dayrendereventargs)
...
end sub

其中参数e 有14 个属性,如下表所示:


下列范例单纯的显示月历,并将本月的双数日期反像显示:

<%@import namespace="system.drawing"%>
<html>
<form runat="server">
<asp:calendar id="cala" runat="server"
selectionmode="none" showgridlines="true"
bordercolor="gray" titlestyle-backcolor="white"
ondayrender="cala_dayrender"/>
</form>
<script language="vb" runat="server">
sub cala_dayrender(sender as object, e as dayrendereventargs)
if e.day.daynumbertext.toint16 mod 2 = 0 and not e.day.isothermonth
then
e.cell.backcolor=color.gray '以颜色名称设定颜色
e.cell.forecolor=color.fromargb(255,255,255,255) '设定颜色
end if
end sub
</script>
</html>


要在程序中指定对象的颜色,要使用color 对象;要使用color 对象之前要先宣告color 对象的名称位置,其名称地址为system.drawing。color 对象支持多种设定颜色的方式,其中最简单的方式是直接利用「color. 颜色名称」的方式来宣告;或是以fromargb 方法指定颜色的alpha、r、g、b 值也可以。
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:Web控件与数据源的系结(Data Binding)--数据系结叙述
· 下一篇:Calendar Web 控件的样式对象
· 使用缓冲区(Buffer)
· 深入讲解 ASP+ 验证(四)
· asp+中的发送者是什么意思?
· 在ASP.NET中面向对象的编程思想
· 一个用C#写的词法分析程序


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077