技术标签: calendar getter string equals ASP.NET setter object
DayRender是Calendar控件的一个相对重要的事件.它可以用来在Calendar控件中所有日期的”长相”.这个事件使用了一个DayRenderEventArgs对象作为其参数.后者则包括两个属性:Cell和Day.在MSDN中,对于这两个属性有如下的描述:
属性 |
说明 |
Cell |
获取表示呈现在 Calendar 控件中的单元格的 TableCell 对象 |
Day |
获取表示呈现在 Calendar 控件中的日期的 CalendarDay |
/*Step1: 在Page_Load中设置Calendar控件的VisibleDate属性,或是通过IDE来设置,亦或是手动编写.aspx来完成*//*Step2: 撰写DayRender事件的处理*///声明一个变量,用来保存当前显示的月份private int intCurrentMonth = DateTime.Now.Month; private void Calendar1_DayRender(object sender, System.Web.UI.WebControls.DayRenderEventArgs e){ if(e.Day.Date.Month != intMonth) //如果不是指定的月份 e.Cell.Text = ""; //将对应的TableCell对象的Text属性设置为”” } |
private void Calendar1_PreRender(object sender, System.EventArgs e){ this.intMonth = this.Calendar1.VisibleDate.Month; } |
internal class DateMemo{ private DateTime dt; //日期 private string memo; //对应备注 //构造函数 public DateMemo(DateTime dt,string memo){ this.dt = dt; this.memo = memo; } //提供属性 public string Memo{ get{ return this.memo; } set{ this.memo = value; } }
public DateTime Date{ get{ return this.dt; }//Only getter, no setter } };//这个类并不完善,还可以覆写Equals,GetHashCode等基类方法 |
private DateMemo[] data; //存放DateMemo的数组 private string[] memo; //日期的备注private void Page_Load(object sender, System.EventArgs e){ if(!this.IsPostBack){ //首次加载 this.Calendar1.VisibleDate = DateTime.Now; memo = new string[]{ "Database exam", "Accomplish the book", "Body building", "Do Research work on neural network", "Having a face-to-face with English teacher", }; //构建DateMemo数组,可以从其它数据源中加载,如此的话,可能不会使用到memo数组,请根据实际情况来完成加载 data = new DateMemo[memo.Length]; for(int i = 0; i < data.Length; i++) data[i] = new DateMemo(DateTime.Now.AddDays(i * 2),memo[i]); //将DateTime.Now开始的连续data.Length个间隔为2天的日期设置为需要为其添加备注的日期 } }//DayRender事件private void Calendar1_DayRender(object sender, System.Web.UI.WebControls.DayRenderEventArgs e){ /* 如果期望只显示当前月的日期,采用1)中的方法 if(e.Day.Date.Month != intMonth) e.Cell.Text = ""; else { */ // SpecialDayIndex是一个辅助函数,用来判断参数是否是一个需要添加备注的日期 int index = this.SpecialDayIndex(e.Day.Date); if(index >= 0){ //如果是需要添加备注的日期 //在这里完成备注的添加动作 e.Cell.BackColor = Color.FromName("Coral"); //设置Cell的背景色 e.Cell.ToolTip = this.data[index].Memo; //设置Cell的ToolTip } /* } */ } |
//判断参数是否是一个需要添加备注的日期 //返回值: -1 表示参数不是一个需要添加备注的日期 // 非负整数 表示参数是一个需要添加备注的日期,返回值为参数在data中的序号 private int SpecialDayIndex(DateTime dt){ if(this.data == null) return -1; int index = 0; foreach(DateMemo dm in this.data){ if((dt.Year == dm.Date.Year) && (dt.Month == dm.Date.Month) && (dt.Day == dm.Date.Day)) //这里需要自己判断,不能使用(dt == dm.Date)或是(dt.Equals(dm.Date)) return index; index++; } return -1;} |
公司使用 mailman 来显示 patch,mailman 显示的改动只有一堆黑白文字,难以辨认。有时候还把 patch 当成文件再 git add 一遍后再生成一个新的 patch,这时候对于原来 patch 的代码改动来说,整个 patch 都是新增代码,就更加难以看出改动在哪,给 review patch 带来不必要的不便。有天我想可不可以做成跟 github 一样,至少增删有不...
1、相机硬件接线图参考链接:https://wenku.baidu.com/view/dcc580e579563c1ec4da7168.html
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录2.操作系统2.1 操作系统包括哪些重要部分。2.2 OS系统特点2.2 BIOS是什么,在OS中什么用途。2.3 微内核是什么。按了开机键后电脑的启动过程。2.4 并发&并行2.5 同步&异步2.6 进程通信挂起态2.7 进程和线程区别2.8 互斥锁、自旋锁、读写
目录1. 说明2. 安装前3. 在主机中安装FATE(使用已编译的安装包)3.1 端口检查3.2 获取安装包3.3 安装3.4 启动3.5 测试3.6 FATE Board4. 安装FATE-Client、FATE-Test、FATE-Flow、jupyter notebook4.1 FATE-Client、FATE-Test4.2 FATE-Flow4.3 FATE中的Jupyter Notebook1. 说明使用虚拟机VMware进行实验,实验过程中随时拍摄快照,节约重装时间。项目Val
MSTP 解决复杂情况下的链路负载均衡与链路检测
Android平台中关于音频播放有以下三种方式: 1.SoundPool ---- 适合短促且对反应速度比较高的情况(游戏音效或按键声等) 2.MediaPlayer ---- 适合比较长且时间要求不高的情况 3.AudioTrack ---- 播放解码后的PCM码流 方法一:SoundPool1)SoundPool简介 SoundPoo
作者简介:曾宇先生,腾讯公司副总裁。 2002 年加入腾讯,曾负责腾讯研发线管理,后续担任互动娱乐事业群研发部总经理,负责游戏、互娱相关的技术研发及管理工作,2012 年升任公司 VP,16 年起主要负责移动互联网事业群技术管理工作,继续参与公司级技术管理工作。正文技术人员的核心素养腾讯的职业发展通道大概有 6 级,1 级是初入者,2 级是有经验者,3 级是骨干,4 级是专家,5 级和 6 级是权
C#接口是一个让很多初学者容易迷糊的东西,用起来好象很简单,定义接口,然后在里面定义方法,通过继承与他的子类来完成具体的实现。但没有真正认识接口的作用的时候就觉得用接口是多此一举,当然你这样想是绝对错误的。在软件设计中...
docker网络-如何让外部网络访问容器资源
发现问题: 问题:CentOS7 虚拟机每次启动后网卡是关闭状态 解决方案: 1、检查虚拟机设置网卡启动时自动连接 2、检查网卡是否打开onboot选项 3、关闭NetworkManager CentOS6: # chkconfig NetworkManager off 用来永久关闭,生产环境常禁用状态 CentOS7: ...
在数控插补中,实现空间圆弧轨迹是比较困难的~。最近在做运动控制。要实现空间圆弧插补。想的头都大了~平面圆弧中。只要三个点就能确定一个圆,求出半径,圆心。所以我就用拟合平面圆弧的方法。进行两次拟合得到空间圆弧的轨迹。比如在空间得到三个点a(x,y,z) b(x,y,z)c(x,y,z);先对xy平面进行拟合圆然后对xz平面拟合圆。xy拟合坐标为XY坐标xz拟合坐标为Z坐标。这样空
127.0.0.1和0.0.0.0地址的区别1. 问题引入之前在使用tomcat的时候,启动tomcat默认都会绑定到127.0.0.1这个地址,最近在使用hexo写博客的时候发现通过 hexo server命令启动服务的时候绑定的ip地址是0.0.0.0。那么这两个IP地址到底有什么不同呢?在讲解两个地址的不同之前,我们先回顾一下IP地址的基础知识。2. IP地址分类2.1 ...