You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DevExpress Scheduler Control 22.2.4:C#编程操作后数据源无数据问题

解决DevExpress Scheduler UI添加约会后DataTable无记录的问题

检查字段映射配置

确保AppointmentStorage的Mappings配置与你的DataTable列名完全匹配,且包含所有必要字段:

// 示例配置,请根据实际DataTable列名调整
schedulerDataStorage1.Appointments.Mappings.Start = "StartDateTime";
schedulerDataStorage1.Appointments.Mappings.End = "EndDateTime";
schedulerDataStorage1.Appointments.Mappings.Subject = "Subject";
schedulerDataStorage1.Appointments.Mappings.ResourceId = "ResourceId";
// 按需添加Description、StatusId等其他字段映射

注意:DataTable的对应列数据类型必须匹配(比如Start/End需为DateTime类型)。

确认数据提交机制

  • 若手动调用过BeginUpdate,必须成对调用EndUpdate触发数据同步:
schedulerDataStorage1.Appointments.BeginUpdate();
// 执行操作后
schedulerDataStorage1.Appointments.EndUpdate();
  • 检查AppointmentStorage.AutoCommit属性是否设为true(默认值为true,若手动修改过需恢复):
schedulerDataStorage1.Appointments.AutoCommit = true;

手动触发数据刷新

如果配置无问题,可在添加约会后手动刷新数据源:

// 提交DataTable的更改
((DataTable)schedulerDataStorage1.Appointments.DataSource).AcceptChanges();
// 必要时重新绑定数据源
schedulerDataStorage1.Appointments.DataSource = yourAppointmentsDataTable;

检查资源绑定有效性

若约会关联了资源,需确保ResourceStorage的映射配置正确,且Resources DataTable存在对应数据。ResourceId不匹配会导致约会无法写入数据源。

调试验证

添加约会后,先检查内存中的约会集合是否存在新增记录,定位问题环节:

// 查看内存中的约会列表
var appointments = schedulerDataStorage1.Appointments.Items;
// 若集合有记录但DataTable为空,说明映射或提交逻辑存在问题

内容的提问来源于stack exchange,提问作者JaymeisterJay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 15:43:16