TcxScheduler的使用
TcxScheduler有两种工作模式:
一、非绑定模式
非绑定模式下,数据被存储在文件系统中。要让scheduler工作在非绑定模式下,应使TcxScheduler.Storage属性绑定到TcxSchedulerStorage部件
。
考虑到用户在不同的资源下安排用户事件,分如下步骤:
1.定义不同的计划资源:
在TcxSchedulerStorageResources.itmes创建2个资源,分别为其命名并将TcxSchedulerStorageResourceItem.ResourceID属性设置为1和2。
2.在TCustomForm.OnCreate和TCustomForm.OnDestroy事件中:
procedure TUnboundForm.FormCreate(Sender: TObject);
const
DlgMsg = 'There was no file found';
FileName = 'c:\unbound.dat';
begin
if FileExists(FileName) then
// load the data from the file when the application starts up
Storage.LoadFromFile(FileName)
else
ShowMessage(DlgMsg);
end;
procedure TUnboundForm.FormDestroy(Sender: TObject; var Action: TCloseAction);
const
FileName = 'c:\unbound.dat';
begin
// save the data to the file when the application exits
Storage.SaveToFile(FileName);
end;
3.下面的代码演示如何安排用户事件:
with Storage.CreateEvent do
begin
// assign the newly created user event to the Nata Epelman resource
ResourceID := 2;
// specify the subject
Caption := 'Anniversary';
// this is the all-day event
AllDayEvent := True;
// synchronize with storage
Post;
end;
每个TcxSchedulerEvent实例代表最终用户的一个事件,对应TcxStorage的一个记录。
用户事件的开始与结束时间由TcxSchedulerEvent的start与finish属性(TDateTime类型,该类型的使用可参见http://masprb.blog.sohu.com/194187241.html)指定。
用户事件如果是全天事件,由TcxSchedulerEvent的AllDayEvent属性指定(Boolean类型)。
用户事件的标题、标签颜色、位置、细节、状态分别由TcxSchedulerEvent的Caption、LabelColor、Location、Message、State指定。
TcxSchedulerStorage.CreateEvent过程创建一个TcxSchedulerEvent实例。
绑定模式下,数据被存储在数据库系统中。要使scheduler工作在绑定模式下,应将TcxScheduler.Storage属性绑定到TcxSchedulerDBStorage部件。步骤如下:
1.创建两个用以存储数据的表SchedulerTable、SchedulerResourcesTable,结构如下:
create table schedulertable
(
ActualFinish int,
ActualStart int,
Caption varchar(255),
EventType int,
Finish datetime,
ID int,
LabelColor int,
Location varchar(255),
Message varchar(255),
Options int,
ParentID int,
RecurrentceIndex int,
RecurrenceInfo text,
ReminderDate datetime,
ReminderMinutesBeforeStart int,
RemminderResourcesData text,
ResourceID int,
Start datetime,
State int,
TaskCompleteField int,
TaskIndexField int,
TaskLinksField text,
TaskStatusField int
);
create table schedulerResourcesTable
(
ResourceID int,
ResourceColor int,
ResourceImageIndex int,
ResourceName varchar(255)
)
insert into schedulerResourcesTable(ResourceID,ResourceName) values(1,'日常工作计划');
insert into schedulerResourcesTable(ResourceID,ResourceName) values(2,'日常学习计划');
2.控件的使用
在窗体上分别放置2个DataSource与Table控件,如下图所示:

3.控件的设置
将cxSchedulerDBStorage的DataSource指向DS_Schduler,FieldNames中每个属性分别对应表中的相应字段。将cxSchedulerDBStorage的Resources的DataSource指向DS_Resource,ResourceColor、ResourceID、ResourceImageIndex、ResourceName分别指向表中相对应的字段。
4.创建user event的示例代码:
with SchedulerDBStorage.CreateEvent do
begin
ResourceID := 1; // assign the newly created user event to the Lesli Gritts resource
Caption := 'Birthday'; // specify the subject
AllDayEvent := True; // this is the all-day event
Post; // synchronize with storage
end;
TcxScheduler的使用的更多相关文章
- TcxScheduler的使用2
DevExpress 行事历(Scheduler)的常用属性.事件和方法 参考资料来源:附带的ExpressScheduler 2 Demo, 如想了解更多可以查看Demo. 一.TcxSchedu ...
- DevExpress 行事历(Scheduler)的常用属性、事件和方法
一.TcxScheduler[TcxScheduler常用属性]1.Storage - 邦定一个Storage为Scheduler显示提供数据 2.DateNavigate.ColCount ...
随机推荐
- 自平衡二叉(查找树/搜索树/排序树) binary search tree
在计算机科学中,AVL树是最先发明的自平衡二叉查找树.AVL树得名于它的发明者 G.M. Adelson-Velsky 和 E.M. Landis,他们在 1962 年的论文 "An alg ...
- VS开发环境美化
1.字体,推荐Deja Vu Sans Mono 2.背景色为护眼绿色, 工具-->选项-->环境,字体和颜色,字体改为Deja Vu Sans Mono,项背景 改为
- 【集训】练习题 uria
Description 求有多少组正整数对 \((a, b)\) 满足 \(a + b ≤ n\) \(a + b | ab\) \(n ≤ 10^14\) Solution 这题有点绕啊 设 \(g ...
- 解题:HEOI 2016 求和
题面 我们需要知道这样一个东西(大概叫 斯特林公式?) $S(i,j)=\frac{1}{j!}\sum\limits_{k=0}^{j}(-1)^k C_j^k(j-k)^i$ 那么就是推啊 $=\ ...
- bzoj 1814: Ural 1519 Formula 1 插头dp经典题
用的括号序列,听说比较快. 然并不会预处理,只会每回暴力找匹配的括号. #include<iostream> #include<cstdio> #include<cstr ...
- mac下Android Studio使用及快捷键
1.Android Studio使用及快捷键 (1)我们新建一个项目后进入界面,左侧可以选择Project或Android,一般选Project会比较习惯以前eclipse的显示 (2)点击左上角An ...
- centos 安装MATLAB :设置回环设备失败: 没有那个文件或目录
基本参数:centos 7 x86_64,linux 系统, 安装matlab, 已经下载R2016b_glnxa64.iso 但挂载的时候遇到问题: [root@lf mnt]# mount -o ...
- C/C++ 移位计算代替乘除运算
测试移位和乘除的比较,发现移位比乘除运算快一个位数的速度,但是难点在于判断是否是2的幂次级的数,如果不是还得通过代码拆分到2的幂次+上分子的累和,然后通过移位得到2的次幂数这样; 下列代码只是简单的判 ...
- Qt 模型/视图/委托
模型.视图.委托 模型/视图架构基于MVC设计模式发展而来.MVC中,模型(Model)用来表示数据:视图(View)是界面,用来显示数据:控制(Controller)定义界面对用户输入的反应方式. ...
- Kubernetes 1.5 配置dashboard
配置kubernetes的dashboard相对简单.同样的,只需要从源码中获取到dashboard-controller.yaml及dashboard-service.yaml文件,稍加修改即可: ...