EPR类企业管理系统

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


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

如何:使用New Action创建的对象设置默认值

本主题描述如何访问使用“新建 操作”创建的对象。假设您正在使用“业务类库”中的“任务”业务类。使用“新建操作”创建新任务时,Task.StartDate属性将设置为当前日期。

注意

移动平台不支持本主题中描述的方法。如果有必要在您的Mobile应用程序中实现此方案,请使用支持中心与我们联系。

提示

可在http://www.devexpress.com/example=E229的DevExpress代码示例数据库中找到完整的示例项目。

要访问使用New Action创建的对象,请处理包含New Action的NewObjectViewController的NewObjectViewController.ObjectCreated事件。为此,实现一个新的View Controller。重写Controller的OnActivated方法,并通过以下方式预订ObjectCreated事件:

using DevExpress.Persistent.BaseImpl;
using DevExpress.ExpressApp.SystemModule;
//...
public class MyController : ViewController {
    private NewObjectViewController controller;
    protected override void  OnActivated() {
        base.OnActivated();
        controller = Frame.GetController<NewObjectViewController>();
        if (controller != null) {
            controller.ObjectCreated  = controller_ObjectCreated;
        }
    }
    void controller_ObjectCreated(object sender, ObjectCreatedEventArgs e) {
        if (e.CreatedObject is Task) {
            ((Task)e.CreatedObject).StartDate = DateTime.Now;
        }
    }
    protected override void OnDeactivated() {
        if (controller != null) {
            controller.ObjectCreated -= controller_ObjectCreated;
        }
        base.OnDeactivated();
    }
}

在某些情况下,可能需要使用父详细信息视图中的值来初始化通过查找编辑器的“新建”按钮创建的新对象。要从ObjectCreated事件处理程序访问父对象,请将Controller.Frame强制转换为NestedFrame类型,访问NestedFrame.ViewItem属性,然后使用ViewItem.CurrentObject属性获取主对象。

void controller_ObjectCreated(object sender, ObjectCreatedEventArgs e) {
    NestedFrame nestedFrame = Frame as NestedFrame;
    if (nestedFrame != null) {
        Item createdItem = e.CreatedObject as Item;
        if (createdItem != null) {
            Parent parent = ((NestedFrame)Frame).ViewItem.CurrentObject as Parent;
            if (parent != null) {
                createdItem.Title = parent.DefaultItemTitle;
            }
        }
    }
}
相关文章

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