zoukankan      html  css  js  c++  java
  • 在XAF中实现状态控制并级联更新部分属性

    首先贴一个视频,是一个高手录制的,这里转载一下。

    http://v.youku.com/v_show/id_XMTU0Mjc3MjUxMg==.html

    在该视频中介绍了状态机的基本用法,关键点如下:

    1. 将状态机同对象的属性建立关联。
    2. 不同状态之间的变更关系。
    3. 在状态变更操作页面的权限控制
      • 可以触发变更的人
      • 可以修改那些属性
      • 可以禁用那些按钮(此处提到,但是未详细说明)
    4. 可以设置在指定状态下的显示样式

    更多的视频看这个链接

    http://www.cnblogs.com/foreachlife/p/xafvideo_1_6.html

    通过这个视频基本解决了状态控制的问题。

    但是状态变更的时候需要进行的一些日志等信息,可以参考另外一个文档来实现。

    http://www.cnblogs.com/HappinessZhao/p/7272431.html

    我项目中的代码如下,在状态变更成定级时,需要记录审批人和审批时间。

    另外一个实现是可以通过Action来实现,但是在Action中需要实现权限,修改范围控制等,复杂度比较高,所以我最终选择了在属性状态变更时完成相关信息的记录。

    private RiskStatusEnum _RiskStatus;
            [XafDisplayName("险情状态")]
            [ModelDefault("AllowEdit", "false")]
            public RiskStatusEnum RiskStatus
            {
                get
                {
                    return _RiskStatus;
                }
                set
                {
                    SetPropertyValue("RiskStatus", ref _RiskStatus, value);
                    if (!IsLoading)
                    {
                        if(value== RiskStatusEnum.定级)
                        {
                            ApprovalTime = CommUtilities.GetCurrentServerTime(Session);
                            Approver = CommUtilities.GetCurrentUser(Session);
                        }
                    }
                }
            }

  • 相关阅读:
    iframe标签
    Meta标签
    表单相关标签之textarea,select
    marquee标签
    表单相关标签之input标签
    表单相关标签之form标签
    1.7.8- HTML合并单元格
    1.7.7- 表格标题标签
    01- QTP快速入门
    1.7.6- 浏览器审查HTML标签元素
  • 原文地址:https://www.cnblogs.com/HappinessZhao/p/7272513.html
Copyright © 2011-2022 走看看