39、动态表单插件,BeforeUpdateValue事件,值更新之前触发原创
9人赞赏了该文章
5,681次浏览
编辑于2020年07月11日 16:47:22
续
使用上一节38代码
1、如果输入的日期小于当前日期,弹窗报错
//值更新前事件 public override void BeforeUpdateValue(BOS.Core.DynamicForm.PlugIn.Args.BeforeUpdateValueEventArgs e) { base.BeforeUpdateValue(e); //全部转换成大写 switch(e.Key.ToUpper()) { case "F_YDIE_DATE": if (e.Value != "") { //转换成DateTime类型 DateTime date1 = Convert.ToDateTime(e.Value); //取当前时间 DateTime date2 = Convert.ToDateTime(DateTime.Now); //2个时间之间做对比 TimeSpan ts = date1 - date2; if(ts.Days <0) { this.View.Model.SetValue("F_YDIE_DATE", ""); //不往下执行,然后弹窗 e.Cancel = true; this.View.ShowMessage("输入的日期不能小于当前日期"); } } break; default: break; } }
2、做一个值更新事件
2.1、放2个日期字段
F_YDIE_Date 日期1
F_YDIE_Date1 日期2
2.2、日期1勾选即时触发值更新,设置值更新事件,新增服务,服务类型,计算自定公式的值并填写到指定列
日期2等于日期1
F_YDIE_Date1 = F_YDIE_Date
BeforeUpdateValue
触发时机
更新字段值前触发
应用场景
界面字段值更新时允许用户对即将录入的值做检查
关键字
值更新 数据检查 改变值 值改变 更新前 字段值更新 合法性 触发值更新
备注
对于控件想马上触发值更新事件,BOSIDE需要选中“即时触发值更新事件”属性,否则事件延后直至触发值更新事件
3、最终效果,打开销售订单,点按钮,查看销售出库单;
当选择当期日期之后的日期,可以正常触发上面的值更新;日期2= 日期1;
当选择当期日期之前的日期,弹窗报错;
总目录链接
https://vip.kingdee.com/article/64993872014591232
Kingdee.Bos.Project.DyForm39.z …(25.39KB)
赞 9
9人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!