EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

状态机模块概述

业务对象通常具有由其属性值指定的关联状态(例如,Task对象具有Task.Status,可以是NotStartedInProgress等)。尽管可以通过修改相应的属性值轻松更改此状态,但是以统一的方式管理状态转换并不是那么简单。这就是XAF随附状态机模块的原因,该模块大大简化了状态转换管理。

状态机功能

该模块创建一组与状态转换相对应的动作,并在相应的视图中显示它们。

StateMachine-ShowActionsInToolBarStateMachine-ShowActionsInPanel

使用状态机,您可以:

  • 定义一组状态和相应的转换,并将它们与业务类相关联。您可以在代码中在运行时执行此操作,因为状态机模块随附了用于状态和过渡管理的预定义视图。其值指定不同对象状态的属性可以是枚举类型的属性或引用属性。
  • 定义条件外观规则并将其与特定状态相关联。这也可以在代码中和在运行时完成。
重点

在某些情况下,与定义编码状态机相比,使用SingleChoiceAction操作或一组SimpleAction操作创建自定义控制器会更简单,更直接。因此,如果您需要定义一个静态状态管理过程,该过程不应由用户更改,请首先考虑这种方法,而不要使用“状态机”模块。

也可以看看:

添加一个简单的动作

添加参数化操作

如何:在详细视图布局中包括动作

注意

DataViewInstantFeedback数据访问模式下,每次更改选择时,状态机都会从数据库中请求选定的对象。

添加状态机模块

要在WinForms或ASP.NET应用程序中使用“状态机”模块,请使用“应用程序设计器”将其添加。调用应用程序设计器,然后将StateMachineModule项目从“工具箱”拖动到“模块”面板。如果使用实体框架,则将模块的StateMachineStorageType属性设置为DevExpress.Persistent.BaseImpl.EF.StateMachine.StateMachine-在运行时创建的状态机的EF特定类。在Designer中进行更改后,请确保重新生成解决方案。

StateMachine_AddModuleFromToolbox

注意
相关文章

转载保留此链接,注明出处