Calendar使用的一些技巧

  最近做毕设,期间想到使用calendar来创建一个显示重要事件提示的日历。由于区域有限,这个日历仅仅只能显示日期等。所以不能为其再添加文本了,只能在其下方添加超链触发alert事件来提示消息。

  • 首先建立了一个用来存储消息等数据表,其中需要添加 相应需要提醒日期的列,和对应消息的列,不做赘述。
  • 再次建立两个界面,一个用来在后台添加删除添加的数据,另一个用来显示这个日历。

☆:日期事件添加管理

前台:一个Label,一个Calendar,一个Textbox,一个button,一个可以提供删除列的Gridview。

后台:

 1     protected void Calendar1_SelectionChanged(object sender, EventArgs e)
 2     {
 3         Label1.Text = Calendar1.SelectedDate.ToShortDateString();
 4     }
 5     protected void Button1_Click(object sender, EventArgs e)
 6     {      //这里使用三层来将数据添加到数据库
 7         DateTime day = Calendar1.SelectedDate;
 8         string msg = TextBox1.Text;
 9
10         Calender calender = new Calender();
11         CalenderBll bll = new CalenderBll();
12
13         calender.Msgtime = day;
14         calender.UserID = Session["UserID"].ToString();
15         calender.Msg = msg;
16         calender.Createtime = DateTime.Now;
17
18         if (!bll.Exists(day))
19         {
20             if (bll.Add(calender))
21             {
22                 Response.Write("<script>alert(‘发布成功!‘);");
23             }
24             else
25             {
26                 Response.Write("<script>alert(‘发布失败!‘)</script>");
27             }
28
29         }
30         else
31         {
32             Response.Write("<script>alert(‘该日期时间已存在!‘)</script>");
33         }
34     }
35     protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
36     {
37         if (e.Day.Date< DateTime.Now )
38         {
39             e.Day.IsSelectable = false;//用来控制该日是否可以选取
40         }
41     }

☆:前台显示界面

主要为Calendar控件

 1  protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
 2     {
 3         DateTime today = DateTime.Today;
 4         DataSet dt = new DataSet();
 5
 6         //这里使用了三层架构来从数据库中获取具有消息事件的日期和相应的消息
 7         CalenderBll calbll = new CalenderBll();
 8 //注意AddDays方法的使用,来遍历当天前后30天的事件
 9         string begin = today.AddDays(Convert.ToDouble(-30)).ToString();
10         string to = today.AddDays(Convert.ToDouble(30)).ToString();
11
12         dt = calbll.GetList(begin, to);
13         if (dt !=null)
14         {
15             for (int i = 0; i < dt.Tables[0].Rows.Count; i++)
16             {
17                 string day = dt.Tables[0].Rows[i]["Msgtime"].ToString();
18                 if (e.Day.Date.ToString().Substring(0,10) == day.Substring(0,10))
19                 {
20                     e.Cell.BackColor = System.Drawing.Color.Red;
21                     //下面是次愚蠢的尝试,如果不修改cell.text则导致日期旁边出现数字,尽管可以修改为标志或图片,但是会影响布局
22                     //半天才搞明白,为啥不在原来的基础上给他添加上链接啊,真是脑袋想不清。
23                     //e.Cell.Controls.Add(new LiteralControl("<a href=‘javascript:void(0)‘ onclick="+‘"‘+"showmsg(‘"+dt.Tables[0].Rows[i]["Msg"]+"‘)"+‘"‘+">"+e.Day.DayNumberText+"</a>"));
24                     e.Cell.Text ="<a href=‘javascript:void(0)‘ onclick="+‘"‘+"showmsg(‘"+dt.Tables[0].Rows[i]["Msg"]+"‘)"+‘"‘+">"+e.Day.DayNumberText+"</a>";
25                 }
26             }
27         }   
时间: 2024-10-03 23:00:13

Calendar使用的一些技巧的相关文章

CSS小技巧

CSS 小技巧 总结的网络上的资源,以备自己后续参考... 使用:not()去除导航上不需要的边框 为body添加行高 垂直居中任何元素 逗号分离的列表 使用负nth-child选择元素 使用SVG图标 文本显示优化 在纯CSS幻灯片上使用max-height 继承box-sizing 表格单元格等宽 使用Flexbox摆脱边界Hack 使用属性选择器选择空链接 使用:not()添加/去除导航上不需要的边框 添加边框… /* 添加边框 */ .nav li { border-right: 1px

BIEE使用技巧

索引: 1.如何清除缓存 2.通过“编辑 SQL”取得前一天的日期 3.格式化日历框参数 4.根据传入的开始时间和结束时间取得事实表中的指标(用到了3中的技巧) 5.直接调用数据库函数 6.时间格式转换 7.BIEE传参问题 8.BIEE部署到Solaris服务器 9.联动条件提示 10.不同维度级别算法 11.Answer横向数据比较变颜色 12.取得模型中有数据的最近一天的数值 13.在列表的表头中加入tip 14.在rpd中设置不同维度路径聚合算法 15.集成报表时将“首选项”去掉 16.

css的小技巧

前几天看到<css揭秘>这本书,第一感觉是 css怎么能出这么厚的一本书,不过 细细一想,用好css真的可以实现很多想要的效果,节省很多js代码. 总结几个css的小技巧: 1,将所有元素垂直居中 1 html, body { 2 height: 100%; 3 margin: 0; 4 } 5 6 body { 7 -webkit-align-items: center; 8 -ms-flex-align: center; 9 align-items: center; 10 display:

web前端css技巧整理

"熟能生巧"这一词大家并不陌生吧,在学习web前端的时候,我们也需要做到这一点才能提高我们的工作效率等等.今天在网上发现了一篇css基础教程(http://www.maiziedu.com/course/web/421-5342/)文章,我觉得非常的有用,于是就分享给大家,这些技巧能让你更加专业. 使用:not()去除导航上不需要的边框 为body添加行高 垂直居中任何元素 逗号分离的列表 使用负nth-child选择元素 使用SVG图标 文本显示优化 在纯CSS幻灯片上使用max-h

作为一枚web前端开发工程师 这些CSS 小技巧你值得掌握

http://web.jobbole.com/85142/ 使用:not()去除导航上不需要的边框 为body添加行高 垂直居中任何元素 逗号分离的列表 使用负nth-child选择元素 使用SVG图标 文本显示优化 在纯CSS幻灯片上使用max-height 继承box-sizing 表格单元格等宽 使用Flexbox摆脱边界Hack 使用属性选择器选择空链接 使用:not()添加/去除导航上不需要的边框 添加边框- CSS 1 2 3 4 5 /* 添加边框 */ .nav li { bor

20个很有用的CSS技巧

导语:下面这几个CSS技巧你可能不知道,1.彩色照片变黑白,2.所有元素垂直居中,3.禁用鼠标,4.模糊文字,小编学完能量满满的,觉得对CSS又充满了爱,你也来看看. 1. 黑白图像 这段代码会让你的彩色照片显示为黑白照片,是不是很酷? img.desaturate { filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%

CSS 专业技巧

使用CSS复位 CSS复位可以在不同的浏览器上保持一致的样式风格.您可以使用CSS reset 库Normalize等,也可以使用一个更简化的复位方法: * { box-sizing: border-box; margin: 0; padding: 0; } 现在元素的 margin 和 padding 已为0,box-sizing可以管理您的CSS盒模型布局. 注意:如果你遵循接下来继承 box-sizing讲解的这个技巧, 你不需要在以上代码中添加 box-sizing 属性. 继承 box

前端开发者应该知道的 CSS 小技巧

一些小技巧让你的CSS技术更专业 使用:not()去除导航上不需要的边框 为body添加行高 垂直居中任何元素 逗号分离的列表 使用负nth-child选择元素 使用SVG图标 文本显示优化 在纯CSS幻灯片上使用max-height 继承box-sizing 表格单元格等宽 使用Flexbox摆脱边界Hack 使用属性选择器选择空链接 使用:not()添加/去除导航上不需要的边框 添加边框… CSS 1 2 3 4 5 /* 添加边框 */ .nav li { border-right: 1p

CSS 专业的技巧

目录 专业的技巧 支持情况 贡献准则 专业的技巧 使用CSS复位 继承 box-sizing 使用 :not() 选择器来决定表单是否显示边框 为 body 元素添加行高 垂直居中任何元素 逗号分隔的列表 使用负的 nth-child 来选择元素 使用 SVG 图标 使用 "形似猫头鹰" 的选择器 使用 max-height 来建立纯 CSS 的滑块 创造格子等宽的表格 利用 Flexbox 去除多余的外边距 利用属性选择器来选择空链接 给 "预设" 链接定义样式