11.2、表单插件,DataChanged,e.NewValue,e.OldValue原创
15人赞赏了该文章
9,619次浏览
编辑于2020年07月02日 15:29:24
业务场景:当客户,值更新后,把新值带入A字段,旧值带入B字段
续
1、打开BOS,销售订单,ctrl拖动,复制2个客户 FCustIdNew,FCustIdOld
2、
//赋值返回的是,基本资料FID内码 //给A字段FCustIdNew,赋新值e.NewValue,更新前的值 this.View.Model.SetValue("FCustIdNew",e.NewValue); //给B字段FCustIdOld,赋旧值e.OldValue,更新后的值 this.View.Model.SetValue("FCustIdOld", e.OldValue); //刷新 this.View.UpdateView("FCustIdNew"); this.View.UpdateView("FCustIdOld");
3、重新生成dll
4、最终效果,重新打开销售订单,第一次填写客户,带出A字段
第二次填写客户
--------------------------------
5、调试,看执行过程
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Kingdee.BOS; using Kingdee.BOS.Core.Bill.PlugIn; //添加引用后,缩写函数 using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using System.ComponentModel; namespace Kingdee.Bos.Project.BillDataChanged.plugln { [Description ("DataChanged值更新后触发")] [Kingdee.BOS.Util.HotUpdate] public class ClassName:AbstractBillPlugIn { // DataChanged事件 //public override void DataChanged(BOS.Core.DynamicForm.PlugIn.Args.DataChangedEventArgs e) //{ // base.DataChanged(e); //} //添加引用后,缩写函数 public override void DataChanged(DataChangedEventArgs e) { base.DataChanged(e); //如果等于客户 if(e.Field.Key =="FCustId") { this.View.Model.SetValue("FNote", "客户变化后赋值到备注"); this.View.Model.SetValue("FNote1", "客户变化后赋值到备注1"); //刷新 this.View.UpdateView("FNote"); this.View.UpdateView("FNote1"); //赋值返回的是,基本资料FID内码 //给A字段FCustIdNew,赋新值e.NewValue,更新前的值 this.View.Model.SetValue("FCustIdNew",e.NewValue); //给B字段FCustIdOld,赋旧值e.OldValue,更新后的值 this.View.Model.SetValue("FCustIdOld", e.OldValue); //刷新 this.View.UpdateView("FCustIdNew"); this.View.UpdateView("FCustIdOld"); } } } }
总目录链接
https://vip.kingdee.com/article/64993872014591232
赞 15
15人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!