新手请教DotNetBar控件中的CalendarView控件使用方法!!
我想使用CalendarView做一个日程表,如何用代码在每日时间点下添加日程安排?
求教会的人给点提示! --------------------编程问答-------------------- 响应鼠标点击事件吧! --------------------编程问答-------------------- 我的意思是比如使用ListView控件,你如果需要添加信息,代码可用
ListViewItem item = this.listViewThreads.Items.Add((nIndex + 1).ToString(), 0);
string[] subItems = { "", "", "", "0", "0%" };
item.SubItems.AddRange(subItems);
诸如此类的进行添加。
但是使用这个控件后,需要添加内容,肯定是通过代码控制某个属性,例如Items或者别的什么的,但是在这个控件里都无法找到,我现在是疑惑在这里。 --------------------编程问答-------------------- 你可以查看dotnetbar的sample源码,里面有关于calendarview的详细使用方法。
具体包括单用户、多用户和自定义三个例子。
最基础的你就看单用户的那个例子吧。
至于数据绑定,你仔细看一下例子里面的方法。
新增日程:MiAddClick
void MiAddClick(object sender, EventArgs e)
{
DateTime startDate = DateTime.Today.AddHours(8.5);
DateTime endDate = startDate.AddHours(0.5);
if (calendarView1.DateSelectionStart.HasValue &&
calendarView1.DateSelectionEnd.HasValue)
{
startDate = calendarView1.DateSelectionStart.Value.AddHours (DateTime.Now.Hour+DateTime.Now.Minute/60.0);
endDate = calendarView1.DateSelectionEnd.Value.AddHours(startDate.Hour + startDate.Minute/60.0 + 0.5 - 24);
}
frmAppointment frmAp = new frmAppointment(calendarView1, startDate, endDate);
frmAp.ShowDialog(this); //在新窗体中添加
}
绑定数据到calendarview,可以用以下方法:
public void GetData(DateTime FDate,DateTime TDate)
{
calendarView1.CalendarModel.Appointments.Clear();
DataTable dt = dal.GetMyYearSch(Facade.UserID, FDate, TDate).Tables[0];
if (dt != null && dt.Rows.Count > 0)
{
Appointment ap;
foreach (DataRow dr in dt.Rows)
{
ap = new Appointment();
ap.Id = int.Parse(dr["SchID"].ToString());
ap.Subject = dr["Subject"].ToString();
ap.TimeMarkedAs = dr["SchType"].ToString();
ap.Description = dr["Content"].ToString();
ap.Tag = dr["PrivFlag"];
ap.StartTime = DateTime.Parse(dr["FDate"].ToString());
ap.EndTime = DateTime.Parse(dr["TDate"].ToString());
ap.Tooltip = "状态:" + ap.TimeMarkedAs + Environment.NewLine + ap.Subject;
ap.CategoryColor = dr["CategoryColor"].ToString();
ap.OwnerKey = dr["UserID"].ToString();
calendarView1.CalendarModel.Appointments.Add(ap);
}
}
}
我一般都是一次加载整年的数据,只有跨年度的时候才重新检索一次数据。新增、编辑、删除则实时反映在界面上。
总之,多看范例,很快就可以上手的,祝你好运。 --------------------编程问答-------------------- 除
补充:.NET技术 , C#