彩票走势图

如何利用DevExpress ASPxSchedulerForms创建自定义约会表单

原创|行业资讯|编辑:郝浩|2012-09-28 10:54:25.000|阅读 578 次

概述:本文将一步一步第教您如何创建一个自定义约会编辑表单,并且该表单中包含了编辑自定义字段所需的控件。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

本文将一步一步第教您如何创建一个自定义约会编辑表单,并且该表单中包含了编辑自定义字段所需的控件。

第1步:为非标准的约会字段添加自定义字段映射,非标准的约会字段的数据源中有“Amount”和“Memo”名称。

[C#]

Storage.Appointments.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("Field1","Amount"));

Storage.Appointments.CustomFieldMappings.Add(new ASPxAppointmentCustomFieldMapping("Field2","Memo"));

[VB.NET]

Storage.Appointments.CustomFieldMappings.Add(New ASPxAppointmentCustomFieldMapping("Field1","Amount"))

Storage.Appointments.CustomFieldMappings.Add(New ASPxAppointmentCustomFieldMapping("Field2","Memo"))

第2步:复制~DevExpress\ASPxSchedulerForms\AppointmentForm.ascx和AppointmentForm.ascx.cs到MyForms文件夹
将它们重命名为UserAppointmentForm。

第3步:将的属性更改为指向该表单模板新位置的值——~/MyForms/UserAppointmentForm.ascx。

第4步:将UserAppointmentForm页面开始处的“不要修改DO NOT MODIFY)...”警告删除。

第5步:根据需要将新控件添加到该表单。就我们而言,需要添加的新控件为ASPxTextBox控件(ID设置为tbField1)和ASPxMemo控件(ID设置为memField2)。

第6步:添加一个新的类定义文件到App_Data文件夹。将其命名为“UserAppointmentFormClass.cs”。

第7步:在该文件中定义一个公共类——DevExpress.Web.ASPxScheduler.AppointmentFormTemplateContainer
类继承的UserAppointmentFormTemplateContainer。它将提供来自自定义字段的数据,显示在页面上。您可根据实际需要对数据进行调整,使数据显示适当。

第8步:处理事件,将您的自定义表单指定为目标容器(而非默认容器)。

[C#]

protected void ASPxScheduler1_AppointmentFormShowing(object sender, AppointmentFormEventArgs e) {

e.Container = new UserAppointmentFormTemplateContainer((ASPxScheduler)sender);

}

[VB.NET]

Protected Sub ASPxScheduler1_AppointmentFormShowing(ByVal sender As Object, ByVal e As AppointmentFormEventArgs)

e.Container = New UserAppointmentFormTemplateContainer(CType(sender, ASPxScheduler))

过程执行结束

第9步:定义一个公共类——从类继承的UserAppointmentFormController。它重写了以下方法: (用来检查需要修改的约会)和ApplyCustomFieldsValues(将已编辑约会的副本的自定义字段值应用到源约会)。

第10步:定义一个公共类——从AppointmentFormSaveCallbackCommand类继承的UserAppointmentSaveCallbackCommand。为从绑定控件中得到新的自定义字段值,您需要重写AssignControllerValues方法。重写CreateAppointmentFormController方法,则将返回一个UserAppointmentFormController实例。

第11步:更改表单HTML代码中的数据绑定,让数据绑定指向UserAppointmentFormTemplateContainer。要做到这一点,需要找出.ascx页HTML代码中数据源属性的内嵌表达式。将AppointmentFormTemplateContaine转换替换为UserAppointmentFormTemplateContainer转换。

第12步:别忘了为新添加的用于显示自定义字段的控件指定数据绑定。

[ASPx]

<dxe:ASPxTextBox ID="tbField1" runat="server" Width="75px" Text='<%#((UserAppointmentFormTemplateContainer)Container).Field1 %>'>

</dxe:ASPxTextBox>

<dxe:ASPxMemo ID="memField2" runat="server" Height="71px" Width="170px" Text='<%#((UserAppointmentFormTemplateContainer)Container).Field2 %>'>

</dxe:ASPxMemo>

第13步:处理事件,以使用您自己的UserAppointmentSaveCallbackCommand类实例,而不是默认命令。

第14步:运行该项目。当打开约会时检查自定表单是否显示出来。填写自定义字段,检查当点击OK时新的值能否保存,能否在下一个打开的表单上恢复。


 


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:DevExpress中文网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关产品
DevExpress Universal Subscription

行业领先的界面控件开发包,帮助企业构建卓越应用!

ASPxScheduler Suite

专为ASP.NET设计并优化,包含了创建优秀web应用程序所需的所有元素

DevExpress WPF Subscription

高效MVVM开发模式,WPF界面解决方案首选工具,帮助企业实现酷炫动效界面。

DevExpress Silverlight Controls

高性价比高实用性的Silverlight用户界面控件套包,拥有大量的示例和帮助文档,开发者能够快速上手!

DevExpress WinForms Subscription

为Windows Forms平台创建具有影响力的业务解决方案,高性价比WinForms界面控件套包。

title
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP