当前位置:编程学习 > C#/ASP.NET >>

新手请教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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,