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
}
/*
}
*/
} |