博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态表单 - 加载与关闭
阅读量:6261 次
发布时间:2019-06-22

本文共 2168 字,大约阅读时间需要 7 分钟。

加载和关闭

OnLoad

页面加载。该事件在BeforeBindData前触发,并且不受StyleManager管理,在此事件设置单据字段的可见性和锁定性无效。

OnLoad时,数据已经获取到,通常我们在此事件处理一些数据设置。

例如:过滤界面插件设置缺省值和页签可见性。

public class SaleCollectFilter : AbstractCommonFilterPlugIn{public override void OnLoad(EventArgs e){base.OnLoad(e);//设置日期缺省值    this.View.Model.SetValue("FStartDate", dateFrom.ToString("yyyy-MM-dd"));this.View.Model.SetValue("FEndDate", dateTo.ToString("yyyy-MM-dd"));//隐藏过滤界面排序页签this.View.StyleManager.SetVisible("FTab_P21", null, false);}}
列表界面隐藏分组滑动控件。

public class SPMPromotionPolicyList : AbstractListPlugIn{     public override void OnLoad(EventArgs e)     {         base.OnLoad(e);         // 隐藏分组滑动控件(默认不展开)         this.View.GetControl
("FSpliter").HideFirstPanel(true);this.View.GetControl("FPanel").SetCustomPropertyValue("BackColor", "#FFEEEEEE"); }}

注:该事件在每次UpdateView()时候都会调用。

BeforeClosed

页面关闭前插件。对于单个表单关闭,该插件基本不需要处理。对于多个表单交互,或者嵌入式表单,通常需要关闭窗体时,返回数据时,通过该插件实现。

如:关闭时刷新父窗体。

public override void BeforeClosed(BeforeClosedEventArgs e){    object isDataChanged = this.View.OpenParameter.GetCustomParameter("Changed");    if (isDataChanged != null && (bool)isDataChanged)    {        this.View.ParentFormView.Refresh();        this.View.SendDynamicFormAction(this.View.ParentFormView);}    base.BeforeClosed(e);}
关闭时传递数据到父窗体。

public override void BeforeClosed(BeforeClosedEventArgs e){this.View.ReturnToParentWindow(_data);    base.BeforeClosed(e);}
关闭窗体判断数据是否修改并提示保存。

/// /// 界面关闭前事件:判断用户是否修改了数据,提示保存/// /// public override void BeforeClosed(BeforeClosedEventArgs e){    if (this._dataChanged == true) // 仅关注模型数据发生了改变的情况    {        e.Cancel = true;        string msg = "内容已经修改,是否保存?";        this.View.ShowMessage(msg, MessageBoxOptions.YesNoCancel, new Action
((result) => { if (result == MessageBoxResult.Yes) // 保存 { this.View.GetControl("FDesignPanel").InvokeControlMethod("Save"); } else if (result == MessageBoxResult.No) // 不要保存 { this._dataChanged = false; this.View.Close(); } })); }}

转载于:https://www.cnblogs.com/fyq891014/p/4188781.html

你可能感兴趣的文章
Scrapy基础——Spider
查看>>
Airbnb 宣布放弃使用 React Native,回归使用原生技术
查看>>
PyCharm for Mac快捷键小记
查看>>
Html5的从0到1-Html5的web Storage概述(16)
查看>>
中国IT行业盛行,程序员“过多”是主要原因?
查看>>
史上最难的一道Java面试题:分析篇
查看>>
HDFS常用命令(方便大家记忆版)
查看>>
kafka原理与实践(原创)
查看>>
如何在excel单元格中插入图片批注
查看>>
Android 基础动画之补间动画详解
查看>>
业界 | 全球最大生物识别数据库被判定合法
查看>>
Hanlp等七种优秀的开源中文分词库推荐
查看>>
常见移动设备的 CSS3 Media Query 整理(iPhone/iPad/Galaxy/HTC One etc.)
查看>>
redis第二步(事务和锁)
查看>>
rufus:一款制作linux U盘启动的神器
查看>>
[动态代理三部曲:中] - 从动态代理,看Class文件结构定义
查看>>
函数式编程与面向对象编程[5]:编程的本质
查看>>
[Spring实战系列](9)装配集合
查看>>
vue需注意的地方
查看>>
搞定计算机网络面试,看这篇就够了
查看>>