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 ...
随机推荐
- 模板:快速傅里叶变换(FFT)
参考:http://blog.csdn.net/f_zyj/article/details/76037583 如果公式炸了请去我的csdn博客:http://blog.csdn.net/luyouqi ...
- Mininet 系列实验(六)
写在前面 这次实验遇到了非常多问题,非常非常多,花了很多时间去解决,还是有一些小问题没有解决,但是基本上能完成实验.建议先看完全文再开始做实验. 实验内容 先看一下本次实验的拓扑图: 在该环境下,假设 ...
- 【51Nod1847】奇怪的数学题
记\(f(x)=\)\(x\)的次大因数,那么\(sgcd(i,j)=f(gcd(i,j))\). 下面来推式子: \[ \begin{aligned} \sum_{i=1}^n\sum_{j=1 ...
- BZOJ2671 Calc 【莫比乌斯反演】
题目链接 BZOJ2671 题解 令\(d = (a,b)\),\(a = dx,b = dy\) 那么有 \[ \begin{aligned} d(x + y) | d^2xy \\ (x + y) ...
- loj2542 「PKUWC2018」随机游走 【树形dp + 状压dp + 数学】
题目链接 loj2542 题解 设\(f[i][S]\)表示从\(i\)节点出发,走完\(S\)集合中的点的期望步数 记\(de[i]\)为\(i\)的度数,\(E\)为边集,我们很容易写出状态转移方 ...
- 手机数据抓包的N种方法
手机数据抓包的N种方法 - xia_xia的博客 - 博客频道 - CSDN.NEThttp://blog.csdn.net/xia_xia0919/article/details/50606137 ...
- 解题:POI 2015 PUS
题面 还以为是差分约束,原来拓扑排序也能解决这样的问题=.= 类似差分约束的建图方式,我们把大小关系看做有向边.这样一来图上是不允许存在环的,于是我们可以做拓扑排序.然后问题来了,边数非常大,根本建不 ...
- 非极大值抑制Non-Maximum Suppression(NMS)
非极大值抑制(Non-Maximum Suppression,NMS) 概述 非极大值抑制(Non-Maximum Suppression,NMS),顾名思义就是抑制不是极大值的元素,可以理解为局 ...
- 2017 Multi-University Training Contest - 3
HDU 6058 #pragma comment(linker, "/STACK:102400000,102400000") #include <bits/stdc++.h& ...
- P2787 语文1(chin1)- 理理思维
P2787 语文1(chin1)- 理理思维 1.获取第x到第y个字符中字母k出现了多少次 2.将第x到第y个字符全部赋值为字母k 3.将第x到第y个字符按照A-Z的顺序排序 读字符串我再单个单个读我 ...