← 返回所有博客文章

本文中介绍用C1EventsCalendar控件来创建一个全功能的日程安排应用程序。它可以从天、周、工作周或每月视图来显示共享日历或私人日历,并从一个绑定德数据源或内置数据源来保存和加载数据。

本文附件Demo展示了如何把数据绑定到 C1EventsCalendar 控件上。

为了把C1EventsCalendar绑定到一个数据源,需要以下几步:

配置时间存储

向页面添加数据源控件AccessDataSource。

设置C1EventsCalendar事件存储的DataSourceID属性,如果必要,填充DataMember属性。

让最终用户能编辑事件,生成插入/更新/删除命令。 如下所示:

DeleteCommand="DELETE FROM [Appointments] WHERE [AppointmentId] = ?" 
InsertCommand="INSERT INTO [Appointments] ([AppointmentId], [Description], [End], 
[Location], [Start], [Subject], [Properties], [Color], [Calendar], [Tag]) VALUES 
(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" 
SelectCommand="SELECT * FROM [Appointments]" 
UpdateCommand="UPDATE [Appointments] SET [Description] = ?, [End] = ?, 
[Location] = ?, [Start] = ?, [Subject] = ?, [Properties] = ?, [Color] = ?, 
[Calendar] = ?, [Tag] = ? WHERE [AppointmentId] = ?"
		
 

配置C1EventCalendar事件存储数据映射。如下代码所示:

		<EventStorage DataSourceID="AccessDataSource_Events">
			<Mappings>	
				<IdMapping MappingName="AppointmentId" />			
				<StartMapping MappingName="Start" />
				<EndMapping MappingName="End" />
				<SubjectMapping MappingName="Subject" />
				<LocationMapping MappingName="Location" />
				<DescriptionMapping MappingName="Description" />
				<ColorMapping MappingName="Color" />
			</Mappings>
		</EventStorage>

配置 CalendarStorage。

向页面中添加数据源AccessDataSource。

设置C1EventsCalendar事件存储的DataSourceID属性,如果必要,填充DataMember属性。

让最终用户能编辑事件,生成插入/更新/删除命令。

配置C1EventCalendar事件存储数据映射。例如:

		<CalendarStorage DataSourceID="AccessDataSource_Calendars">
			<Mappings>
				<IdMapping MappingName="CalendarId" />
				<LocationMapping MappingName="Location" />
				<ColorMapping MappingName="Color" />
				<DescriptionMapping MappingName="Description" />
				<NameMapping MappingName="Name" />
				<PropertiesMapping MappingName="Properties" />
				<TagMapping MappingName="Tag" />
			</Mappings>
		</CalendarStorage>

 

加载页面可以得到如下的效果图,它可以切换日、周、月和工作周的视图,也可以用来提醒、标签和可用性状态来为一次、一整天或常年定期约会制定计划,还可以用类别、资源和联系人来保持组织性条理性。

Demo2

 

本文Demo的源代码如下:

C1EventsCalendar-Databinding.7z (3.92 mb)