彩票走势图

日程管理控件Planner.NET FAQ之项目

原创|其它|编辑:郝浩|2012-09-20 13:53:13.000|阅读 159 次

概述:Planner .NET是一款功能强大的时间管理工具,绝对是您工作上的好帮手。它提供了多种综合功能,这些功能可保证预约的时间设定以及任务安排在简单、综合的方式下完成。以下是Planner.NET控件有关项目方面的常见问题(FAQ)

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

Planner .NET是一款功能强大的时间管理工具,绝对是您工作上的好帮手。它提供了多种综合功能,这些功能可保证预约的时间设定以及任务安排在简单、综合的方式下完成。以下是Planner.NET控件有关项目方面的常见问题(FAQ):

Q:我将我所有的递归委托和异常数据存储在SQL Server数据库中。是否存在一种方法可以人工的为递归创建异常?

A:异常可以通过 Recurrence.MarkException(Item, bool) 方法创建.您必须提供一个项目递归的引用,该引用将被标记成一个异常。为获得一个递归项目的单一实例,可调用 Recurrence.GenerateItems方法

Q:我创建了一个委托并设置了一个Reminders对象,但它在指定的时间无法工作!

A:在Planner.NET中Reminders会生成一个事件。为获得Reminders的通知,您必须处理Schedule.ItemReminderTriggered. 假设变量'calendar'引用了一个Planner.NET日历控件,下面的代码将会说明如何处理该事件:

calendar.Schedule.ItemReminderTriggered +=
new MindFusion.Scheduling.ItemEventHandler(OnItemReminder);
// ...
private void OnItemReminder(object sender,
MindFusion.Scheduling.ItemEventArgs e)
{
MessageBox.Show(e.Item.Reminder.Message);
}

Q:我该如何将私有属性添加至 Appointment 类中?我需要保持两个数据值。

A:为将自定义数据添加至一个appointment中,您需要从Appointment中创建自己的衍生类。您可以将任何您想要的额外属性添加至该衍生类中。

请参考以下示例:

class MyAppointment : Appointment
{
public MyAppointment()
{
customData = 5;
}
public int CustomData
{
get
{
return customData;
}
set
{
customData = value;
}
}
private int customData;
}

使用 Calendar.InteractiveItemType 属性指定您类中的项目,每当用户创建项目时它们都被实例化。在此情况下,您需要保证您的类提供了一个不含参数的构造函数,如同Planner.NET文档所述。

注意:在文档中的可以找到更多关于如何创建自定义的支持序列化、递归和迭代的委托类的信息。

Q:我需要基于单月视图和时间表视图里的项目状态以指定的颜色填充一个项目。是否存在一个日历等级的属性用来完成这些工作?

A:您是想将Style对象的Brush属性与该项目关联吗? 比如,如果'item'是一个引用了您想要改变背景颜色的项目的变量,这里有一个示例代码说明如何去做:

item.Brush = MindFusion.Drawing.SolidBrush(Color.Green);

您需要使用 SelectedStyle.Brush来改变选定项目的填充颜色。

Q:你能告诉我如何获取 时间表视图 中的一个项目的索引吗?我使用了自己的ID号,在数据库中做了标记并且需要删除一个项目,我唯一能想到的办法便是如果我有索引号。你能告诉我如何获取索引号或者从ID或标记中如何删除一个项目吗?

A:项目被存储在一个集合中,该集合可通过 Calendar.Schedule.Items属性访问。为找出集合中某一个特殊的项目索引,只需简单地调用集合中的 IndexOf 方法。您也可以反转该集合然后从中将项目删除,这也是符合一定标准的(就像包含了特殊标记或id)。

Q:在资源视图中如何调整委托的颜色?

A: 资源视图中的项目使用 Style.HeaderBrush 来填充颜色。

Q:在日历视图中可以双击一个开放空间并弹出一个Appointment窗口来创建一个事件吗?

A:您可以处理 DateClick事件 并在其中显示出appointment创建窗口.您可以查看对应的事件数据对象的 Clicks 属性 来决定鼠标敲击的次数。值为2表示鼠标双击。

Q:我该如何限制并发委托的数量?我希望创建一个自动化系统来生成委托。当用户开始拖动时,我希望限制并发委托的数量。

A:下面的方法将阻止用户在 Single Month的单日, List 或WeekRange 视图里拖动超过3个委托。这些方法处理了 Calendar.ItemModifying事件,该事件在用户移动或调整委托时被触发。设置nbsp;EventArgs对象的Confirm属性可阻止上述操作。

private void calendar_ItemModifying(object sender,
ItemModifyConfirmEventArgs e)
{
DateTime from = e.NewStartTime.Date;
DateTime to = from + new TimeSpan(TimeSpan.TicksPerDay - 1);
while (to < e.NewEndTime.Date)
{
if (calendar.Schedule.GetAllItems(from, to).Count > 2)
{
e.Confirm = false;
return;
}
from += TimeSpan.FromDays(1);
to = from + new TimeSpan(TimeSpan.TicksPerDay - 1);
}
}


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:慧都控件

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP