在我当前的应用程序中,用户需要“过滤”到特定的重复约会,并且只在调度程序控件中显示该特定约会模式的出现。我试图通过使用单独的 SchedulerControl 创建一个新表单来实现这一点,并且只添加用户试图查看的单个约会:
public OccurrenceCalcForm(Appointment appointment)
{
InitializeComponent();
OccurrenceSchedulerControl.Storage.Appointments.CustomFieldMappings.Add(new DevExpress.XtraScheduler.AppointmentCustomFieldMapping("Inactive", "Inactive"));
OccurrenceSchedulerControl.Storage.Appointments.CustomFieldMappings.Add(new DevExpress.XtraScheduler.AppointmentCustomFieldMapping("StandingOrderKEY", "StandingOrderKEY"));
OccurrenceSchedulerControl.Storage.Appointments.Add(appointment);
OccurrenceSchedulerControl.Refresh();
}
但困难在于,如果约会有 ChangedOccurrence 类型的例外,这些个别事件的特定属性与模式不同,它们不会显示在控件中,如下面的屏幕截图所示(实际上,这个每日约会有更改的例外24 日和 26 日,开始日期不同,但不显示):
这两个异常都可以使用 GetExceptions() 方法从 Appointment 引用中正确计算和获取,但重要的是它们也要在控件中显示给用户,而不是根本不显示。是否有一种方法可以让 SchedulerControl 在其存储中显示单个重复约会的所有事件(包括异常)?
欢迎任何替代方法建议。谢谢你的帮助!