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;
            }
        }


image.png

2、做一个值更新事件


2.1、放2个日期字段


F_YDIE_Date       日期1

F_YDIE_Date1     日期2


image.png




2.2、日期1勾选即时触发值更新,设置值更新事件,新增服务,服务类型,计算自定公式的值并填写到指定列


日期2等于日期1

F_YDIE_Date1  =  F_YDIE_Date 


image.png



BeforeUpdateValue


触发时机

更新字段值前触发

 

应用场景

界面字段值更新时允许用户对即将录入的值做检查

 

关键字

值更新  数据检查 改变值 值改变 更新前 字段值更新  合法性  触发值更新

 

备注

对于控件想马上触发值更新事件,BOSIDE需要选中“即时触发值更新事件”属性,否则事件延后直至触发值更新事件





3、最终效果,打开销售订单,点按钮,查看销售出库单;



      当选择当期日期之后的日期,可以正常触发上面的值更新;日期2= 日期1;


     当选择当期日期之前的日期,弹窗报错;


image.png


image.png


总目录链接

https://vip.kingdee.com/article/64993872014591232


图标赞 9
9人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!