【BOS】--字段值更新服务端运行过程
一、说明
字段启用了“即时触发更新事件”属性后,当其输入值后失去焦点或按回车会立即向服务端发送值更新事件指令。
二、服务端运行时序图大概如下
三、相关的事件
1、表单插件值更新前事件 BeforeUpdateValue
2、表单插件值更新后事件 DataChanged
四、相关赋值代码
1、通过view赋值,相当于服务端解析全过程
int rowIndex = 0;
var dynView = this.View as IDynamicFormViewService;
dynView.UpdateValue("FieldKey", rowIndex, "newValue");
2、通过model赋值,不会运行字段上配置的值更新服务,需要另外调用
this.Model.SetValue("FieldKey", "newValue", rowIndex);
//调用字段上的值更新服务 this.View.InvokeFieldUpdateService()
3、通过字段赋值,不会触发事件,不会调用各种服务,仅给数据包赋值
//假设field为简单字段
int rowIndex = 0;
var field = this.View.BillBusinessInfo.GetField("FieldKey");
if(field is HeadEntity)
{
field.DynamicProperty.SetValue(this.Model.DataObject, "newValue");
}
else if(field is EntryEntity)
{
var entryObjs = field.Entity.DynamicProperty.GetValue(this.Model.DataObject) as DynamicObjectCollection;
var rowObj = entryObjs[rowIndex];
field.DynamicProperty.SetValue(rowObj, "newValue");
}
666
底层干货!
【BOS】--字段值更新服务端运行过程
本文2024-09-16 18:34:51发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-23079.html