点击保存按钮时自动添加相关记录(用于界面查看),另外还有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. C89和C99区别--简单总结

    (1)对数组的增强 可变长数组 C99中,程序员声明数组时,数组的维数可以由任一有效的整型表达式确定,包括只在运行时才能确定其值的表达式,这类数组就叫做可变长数组,但是只有局部数组才可以是变长的.可变 ...

  2. Spring scope

    scope用来声明IOC容器中的对象应该处的限定场景或者说该对象的存活空间,即在IOC容器在 对象进入相应的scope之前,生成并装配这些对象,在该对象不再处于这些scope的限定之后,容器通常会销毁 ...

  3. SQL Server 导入数据失败:无法在只读列“Id”中插入数据

    解决方案: 在数据库导入"选择源表和源视图"->点击对应表后的“编辑映射”按钮->勾选“启用标识列插入”->导入即可.

  4. jquery实现动画

    animate() 方法 语法: $(selector).animate({params},speed,callback); 必需的 params 参数定义形成动画的 CSS 属性. 可选的 spee ...

  5. 使用date类和format类对系统当前时间进行格式化显示

    一:Date------------String 代码1:(代码二对显示出来的时间格式进行优化) package DateDemo; import java.text.SimpleDateFormat ...

  6. JSP计算器

    <%@ page language= "java" contentType="text/html;charset=UTF-8" %><html ...

  7. 书单.md

    0823 John Hoskin, An Ilustrated History of Thailand.Asia Books Co., Ltd.2015 0729 Gerald Graff, Cath ...

  8. ISE应用入门的一些问题

    1.怎样添加IP 2.怎样用modelsim调用IP生成的仿真文件. 今天用modelsim仿真ISE生成的DDR IP IP核的地址:E:\FPGA\MIS607\Mis607B\update\CH ...

  9. JAVA流程控制

    JAVA流程控制 example1: --输出九九乘法表 public class chengfabiao { public static void main (String[] args){     ...

  10. 伸缩盒 Flexible Box(旧)

    box-orient  box-pack    box-align  box-flex   box-flex-group  box-ordinal-group   box-direction  box ...