点击保存按钮时自动添加相关记录(用于界面查看),另外还有Audit控件可使用,此处只是一个简单的功能。

新建一个VC并关联到相关的View,代码如下:

    public partial class GongZuoJiaoShenController : ViewController
{
public GongZuoJiaoShenController()
{
InitializeComponent();
// Target required Views (via the TargetXXX properties) and create their Actions.
} protected override void OnActivated()
{
base.OnActivated();
// Perform various tasks depending on the target View.
//注册提交事件
ObjectSpace.Committing += ObjectSpace_Committing;
} private void ObjectSpace_Committing(object sender, System.ComponentModel.CancelEventArgs e)
{
GongZuoJiaoShen gongZuoJiaoShen = View.CurrentObject as GongZuoJiaoShen;
JiaoShenJiLu jiaoShenJiLu = ObjectSpace.CreateObject<JiaoShenJiLu>();
//新建时自动添加处理记录
if (View.ObjectSpace.IsNewObject(gongZuoJiaoShen))
{
jiaoShenJiLu.CaoZuoLeiXing = JiaoShenCaoZuoLeiXing.新建;
jiaoShenJiLu.ChuLiRen = (YuanGong)ObjectSpace.GetObject(SecuritySystem.Instance.User);
jiaoShenJiLu.ChuLiShiJian = DateTime.Now;
jiaoShenJiLu.ChuLiYiJian = "自校通过";
gongZuoJiaoShen.JiaoShenJiLu.Add(jiaoShenJiLu);
}
} protected override void OnViewControlsCreated()
{
base.OnViewControlsCreated();
// Access and customize the target View control.
} protected override void OnDeactivated()
{
// Unsubscribe from previously subscribed events and release other references and resources.
base.OnDeactivated();
ObjectSpace.Committing -= ObjectSpace_Committing;
} #region 审核通过事件
private void ShenHe_CustomizePopupWindowParams(object sender, CustomizePopupWindowParamsEventArgs e)
{
ShenHeJieMian(e, "审核通过");
} private void ShenHe_Execute(object sender, PopupWindowShowActionExecuteEventArgs e)
{
//创建对象并赋值
JiaoShenJiLu_Create(e.PopupWindowViewCurrentObject, JiaoShenCaoZuoLeiXing.审核通过);
View.ObjectSpace.CommitChanges();
}
#endregion #region 审核不通过事件
private void ShenHeBuTongGuo_CustomizePopupWindowParams(object sender, CustomizePopupWindowParamsEventArgs e)
{
ShenHeJieMian(e, "审核不通过");
} private void ShenHeBuTongGuo_Execute(object sender, PopupWindowShowActionExecuteEventArgs e)
{
JiaoShenJiLu_Create(e.PopupWindowViewCurrentObject, JiaoShenCaoZuoLeiXing.审核不通过);
}
#endregion /// 创建校审记录对象
/// <summary>
/// 创建校审记录对象
/// </summary>
/// <param name="obj"></param>
/// <param name="caoZuoLeiXing"></param>
private void JiaoShenJiLu_Create(object obj, JiaoShenCaoZuoLeiXing caoZuoLeiXing)
{
//创建对象并赋值
JiaoShenJiLu jiaoShenJiLu = (JiaoShenJiLu)obj;
jiaoShenJiLu.GongZuoJiaoShen = View.CurrentObject as GongZuoJiaoShen;
jiaoShenJiLu.CaoZuoLeiXing = caoZuoLeiXing;
jiaoShenJiLu.ChuLiRen = (YuanGong)ObjectSpace.GetObject(SecuritySystem.Instance.User);
jiaoShenJiLu.ChuLiShiJian = DateTime.Now;
View.ObjectSpace.CommitChanges();
//View.Refresh(true);
// View.RefreshDataSource();
} /// 弹出窗口对象
/// <summary>
/// 弹出窗口对象
/// </summary>
/// <param name="e"></param>
/// <param name="caption">标题</param>
private void ShenHeJieMian(CustomizePopupWindowParamsEventArgs e, string caption)
{
e.DialogController.SaveOnAccept = false;
IObjectSpace objectSpace = this.ObjectSpace;
//创建DetailView对象
JiaoShenJiLu jiaoShenJiLu = objectSpace.CreateObject(typeof(JiaoShenJiLu)) as JiaoShenJiLu;
e.View = Application.CreateDetailView(objectSpace, jiaoShenJiLu, this.View);
e.View.Caption = caption;
} }

效果图如下:

XAF ObjectSpace保存时添加记录的更多相关文章

  1. mybatis添加记录时返回主键id

    参考:mybatis添加记录时返回主键id 场景 有些时候我们在添加记录成功后希望能直接获取到该记录的主键id值,而不需要再执行一次查询操作.在使用mybatis作为ORM组件时,可以很方便地达到这个 ...

  2. 使用mybatis注解@Options实现添加记录时返回主键值

    官网:http://www.mybatis.org/mybatis-3/index.html 在使用mybatis作为ORM框架时,我通常更喜欢使用注解而非xml配置文件的方式.业务场景:添加记录之后 ...

  3. 关于visocode 自动保存时自动添加分号问题

    先下载插件:  Vueter 打开设置的配置文件,写入一下代码: // //是否需要保存时自动格式化 "editor.formatOnSave": true, //使js 文件保存 ...

  4. FRM-40400:事务完成:已应用和保存X条记录"消息框不显示处理方法

    oldmesl := :system.message_level; :system.message_level :;--不显示长度超过25的信息 do_key('COMMIT_FORM'); :sys ...

  5. java.util.Properties类,保存时保留注释及格式不变

    原文地址:http://blog.csdn.net/benbenxiongyuan/article/details/53006097 参考地址:http://www.iteye.com/topic/1 ...

  6. 异步方式向WPF ListBox控件中一条一条添加记录

    向ListBox绑定数据源时,如果数据量过大,可能会使得程序卡死,这是就需要一条一条的向ListBox的数据源中添加记录了,下面是个小Demo: 1.前台代码,就是一个ListBox控件 <Wi ...

  7. Vim保存时权限不足

    保存时权限不足,由于打开时忘记在命令前添加sudo.我们并不需要放弃修改,从新以root权限打开 解决方案 命令模式使用:w !sudo tee %提权,保存

  8. Hibernate一对多关联关系保存时的探究

    在以前使用hibernate时,经常对保存存在关联关系的对象时,不确定是否能保存成功.    因此,特意对一对多关系的2个对象进行实践. 一.pojo类和配置文件的准备         这里有一点提前 ...

  9. 在GridView控件FooterTemplate内添加记录 Ver3

    重构此篇<在GridView控件FooterTemplate内添加记录 Ver2> http://www.cnblogs.com/insus/p/3270644.html 这有些缺陷,怎样 ...

随机推荐

  1. 数字信号处理--FFT与蝶形算法

    在数字信号处理中常常需要用到离散傅立叶变换(DFT),以获取信号的频域特征.尽管传统的DFT算法能够获取信号频域特征,但是算法计算量大,耗时长,不利于计算机实时对信号进行处理.因此至DFT被发现以来, ...

  2. android_demo之生成颜色布局

    前面学习了动态生成表格,不单单是要动态生成控件,也同时生成一个事件. 接下来用个小小栗子去了解这个知识点. <LinearLayout xmlns:android="http://sc ...

  3. php的进制转换

    学习了php的进制转换,有很多的知识点,逻辑,也有最原始的笔算,但是我们还是习惯使用代码来实现进制的转换,进制的转换代码有如下:二进制(bin)八进制( oct)十进制( dec)十六进制( hex) ...

  4. C语言学习笔记(二)_system系统调用及posix说明

    1.9 System系统调用 System库函数的功能是执行操作系统的命令或者运行指定的程序.system库函数的调用需要#include<stdlib.h>这个头文件. #include ...

  5. 带锁的3D切割轮播图

    3D切割轮播图. 加入锁,限制点击太快次数 <!DOCTYPE html><html><head lang="en"> <meta cha ...

  6. nginx 隐藏版本信息

    隐藏nginx头部  修改后的src/core/nginx.h ,代码如下:   /*  * Copyright (C) Igor Sysoev  * Copyright (C) Nginx, Inc ...

  7. setValue和setObject的区别

    在NSMutableDictionary的方法中有setValue forKey与setObject forKey,它们都可以用来设置某一个key值对应的value 1,setValue: forKe ...

  8. Microsoft Visual Stduio 2005 Ent安装报错解决方法

    错误:Microsoft Visual Studio 2015 Devenv : 安装时发生严重错误 安装过程第一次出现该错误时,查看了日志文件,错误提示如下: [0EEC:0EF0][2016-10 ...

  9. 构造 & 析构 & 匿名对象‍

    ‍以前仅知道创建对象,但对匿名对象的了解基本为0. 通过阅读google chromium源代码 中关于 log 的使用,查阅相关资料,了解了一下匿名对象,予以记录. 什么是匿名对象‍ 匿名对象可以理 ...

  10. 关于 Netty Channel 的 Autoread

    Netty 4 的 Channel 多了一个 autoread 参数, 它的用处是在让 channel 在触发某些事件以后(例如 channelActive, channelReadComplete) ...