TcxScheduler的使用2
DevExpress 行事历(Scheduler)的常用属性、事件和方法
参考资料来源:附带的ExpressScheduler 2 Demo, 如想了解更多可以查看Demo.
一、TcxScheduler
【TcxScheduler常用属性】
1.Storage - 邦定一个Storage为Scheduler显示提供数据
2.DateNavigate.ColCount - 显示日历的列数
3.DateNavigate.RowCount - 显示日历的行数. ColCount x RowCount 即显示日历数
4.DateNavigate.FirstWeekOfYear - 一年的第1个星期
5.DateNavigate.ShowWeekNumbers - 是否显示周数
6.DateNavigate.Visible - 是否显示日历
7.OptionsView.ResourcePerPage - 一页显示多少个Storage的Resources.Items(任务执行者)
8.OptionsView.WorkDays - 指定一个星期的哪些天要上班
9.OptionsView.StartOfWeek - 指定哪一天作为星期的第一天
10.OptionsView.WorkStart - 一天的上班开始时间
11.OptionsView.WorkFinish - 一天的上班结束时间
12.OptionsView.ViewPosition - View显示位置(左或右)
13.ViewDay.Active - 以日的形式显示
14.ViewWeek.Active - 以星期的形式显示
15.ViewTimeGrid - 以时间横向显示
16.ViewYear.Active - 以年的形式显示
【TcxScheduler常用事件】
1.OnLayoutChanged - 日期改变、显示形式改变等触发
2.OnSelectionChanged - 选择任务触发
3.DateNavigator.OnSelectionChanged - 选择的日期变化触发
【TcxScheduler常用方法】
1.SelectDays[0] - 返回被选中的第1个日期
2.GoToDate(d1, vmMonth) - 选中d1所在的月份, 并以某种形式显示
3.SelectedDays[n] - 返回选中的第n个日期
4.SelectWorkDays(d1) - 选中d1所在星期的工作日
5.FullRefresh - 刷新
二、TcxSchedulerStorage
【TcxSchedulerStorage常用属性】
1.Resources.Items - 增加任务的执行者。如:生产线、业务员....
2.Resources.Images - 任务执行者的图片集(不是必要的)
【TcxSchedulerStorage常用方法】
1.BeginUpdate - 开始增加任务
2.CreateEvent - 增加任务
3.EndUpdate - 结束增加任务
【TcxSchedulerStorage加载任务】
begin
Screen.Cursor := crHourGlass;
Storage.BeginUpdate;
try
//加入任务
with Storage.createEvent do
begin
ResourceID := 执行者的ResourceID;
Caption := '测试任务';
Start := StrToDateTime('2011/12/01 08:00'); //开始时间
Finish := StrToDateTime('2011/12/01 08:30'); //结束时间
end;
//循环任务
with Storage.createEvent do
begin
ResourceID := 执行者的ResourceID;
Caption := '循环任务';
Duration := 45 * MinuteToTime; //耗时
MoveTo(Date + (8 + AResourceID) * HourToTime); //开始时间. 当前日期 +8小明
EventType := etPattern; //任务类型
LabelColor := $51B0F7; //改Label颜色
RecurrenceInfo.Count := -1; //循环次数. -1为不限次数
RecurrenceInfo.Recurrence := cxreWeekly; //循环单位
RecurrenceInfo.Periodicity := 1; //循环周期
RecurrenceInfo.OccurDays := [dWednesday, dSaturday]; //循环日期
RecurrenceInfo.DayType := cxdtDay;
end;
finally
Storage.EndUpdate;
Scheduler.FullRefresh;
Screen.Cursor := crDefault;
end;
end;
【给TcxScheduler的日历加上底图或文字】
uses dxoffice11
procedure TfrmVSScheduler.SchedulerDateNavigatorCustomDrawContent(Sender: TObject;
ACanvas: TcxCanvas; AViewInfo: TcxSchedulerDateNavigatorMonthContentViewInfo;
var ADone: Boolean);
var
ABitmap: TBitmap;
AColor: TColor;
R: TRect;
begin
if 1 = 1 then
begin
//日历底图
case AViewInfo.Month of
3..5:
ABitmap := cxSpringStyle.Bitmap;
6..8:
ABitmap := cxSummerStyle.Bitmap;
9..11:
ABitmap := cxAutumnStyle.Bitmap;
else
ABitmap := cxWinterStyle.Bitmap;
end;
ACanvas.Canvas.StretchDraw(AViewInfo.Bounds, ABitmap);
end
else begin
//写文字
R := AViewInfo.Bounds;
case AViewInfo.Month of
3..5: AColor := $D0FFD0;
6..8: AColor := $D0D0FF;
9..11: AColor := $D0FFFF;
else
AColor := $FFE7E7;
end;
with ACanvas do
begin
Brush.Color := AColor;
FillRect(R);
Font.Height := R.Bottom - R.Top;
Font.Color := GetMiddleRGB(AColor, 0, 85);
DrawText(IntToStr(AViewInfo.Month), R, cxAlignCenter);
end;
ACanvas.Font := AViewInfo.ViewParams.Font;
end;
//
AViewInfo.Transparent := True;
ADone := True;
end;
TcxScheduler的使用2的更多相关文章
- TcxScheduler的使用
TcxScheduler有两种工作模式: 一.非绑定模式 非绑定模式下,数据被存储在文件系统中.要让scheduler工作在非绑定模式下,应使TcxScheduler.Storage属性绑定到TcxS ...
- DevExpress 行事历(Scheduler)的常用属性、事件和方法
一.TcxScheduler[TcxScheduler常用属性]1.Storage - 邦定一个Storage为Scheduler显示提供数据 2.DateNavigate.ColCount ...
随机推荐
- 03.基于IDEA+Spring+Maven搭建测试项目--常用dependency
<!--常用的依赖配置--> <!--未展示完整的pom.xml文件内容--> <properties> <java.version>1.8</j ...
- P4071 [SDOI2016]排列计数
题目描述 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值为 i,则称 i 是稳定的.序列恰好有 m 个数是稳定的 满足条 ...
- http站点如何启用为https站点?对收录的影响
首先看一下百度官方对https站点的态度:百度开放收录https站点公告 百度搜索再次推出:全面支持https页面直接收录:另外从相关性的角度,百度搜索引擎认为权值相同的站点,采用https协议的页面 ...
- Spring Security OAuth 个性化token
个性化Token 目的 默认通过调用 /oauth/token 返回的报文格式包含以下参数 { "access_token": "e6669cdf-b6cd-43fe-a ...
- 【BZOJ2961】共点圆(CDQ分治)
[BZOJ2961]共点圆(CDQ分治) 题面 BZOJ 题解 设询问点\((x,y)\),圆心是\((X,Y)\) 那么如果点在园内的话就需要满足 \((X-x)^2+(Y-y)^2\le X^2+ ...
- Luogu P3251 [JLOI2012]时间流逝 期望dp
题面 题面 题解 期望\(dp\)好题! 今年\(ZJOI\)有讲过这题... 首先因为\(T\)只有\(50\),大力\(dfs\)后发现,可能的状态数最多只有\(20w\)左右,所以我们就可以大力 ...
- E. Mahmoud and Ehab and the function Codeforces Round #435 (Div. 2)
http://codeforces.com/contest/862/problem/E 二分答案 一个数与数组中的哪个数最接近: 先对数组中的数排序,然后lower_bound #include &l ...
- HDU 4825 tire树
Xor Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 132768/132768 K (Java/Others)Total S ...
- mongodb 使用 robo3T 等工具添加用户之后还是 auth failed 的问题
命令行输入 mongo use 对应的 db(需要授权的数据库),如 use admin 使用命令创建一个数据库,并赋予权限: db.createUser( { user: "xxx&quo ...
- 题解【51nod 1290 Counting Diff Pairs】
Description 求区间内有多少对 \((i,j)\) 满足 \(|a_i - a_j| \leq k\) Solution 可以莫队做(万能的莫队) 只需要考虑加入一个数会产生多少贡献即可 离 ...