二开案例.表单插件.BeforeControlDataBinder
【应用场景】
单据查看界面,对某些字段的值进行特殊处理。
【案例演示】
采购订单,修改文本字段和小数字段在前台界面的显示值。
【实现步骤】
<1>编写表单插件,代码如下。
using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Core.Metadata.FieldElement; using Kingdee.BOS.JSON; using Kingdee.BOS.Util; using System; using System.ComponentModel; namespace Jac.XkDemo.BOS.Business.PlugIn { /// <summary> /// 【表单插件】BeforeControlDataBinder /// </summary> [Description("【表单插件】BeforeControlDataBinder"), HotUpdate] public class BeforeControlDataBinderFormPlugIn : AbstractDynamicFormPlugIn { public override void BarItemClick(BarItemClickEventArgs e) { base.BarItemClick(e); if (e.BarItemKey.EqualsIgnoreCase("test")) { // 刷新字段时也会触发BeforeControlDataBinder事件 this.View.UpdateView("F_Jac_Text"); this.View.UpdateView("F_Jac_Decimal"); } } public override void BeforeControlDataBinder(BeforeControlDataBinder e) { base.BeforeControlDataBinder(e); if (e.Control.Key.EqualsIgnoreCase("F_Jac_Text")) { var value = this.Model.GetValue("F_Jac_Text"); e.BindValue = new JSONObject(); e.BindValue[FieldAppearance.FS_VALUE] = string.Format("{0}-{1}", value, Context.UserName); } else if (e.Control.Key.EqualsIgnoreCase("F_Jac_Decimal")) { var value = Convert.ToDecimal(this.Model.GetValue("F_Jac_Decimal")); e.BindValue = new JSONObject(); e.BindValue[FieldAppearance.FS_VALUE] = value * 100; } } } }
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展采购订单,新增文本字段和小数字段,注册表单插件,保存元数据,开发完毕。
【功能验证】
<1>登录业务站点,打开某张已审核的采购订单编辑界面,文本字段的值已被修改,如下图。
---------------------------------------------------------------------------------------------------------
【金蝶云星空BOS二次开发案例演示】
https://vip.kingdee.com/article/94751030918525696二开案例.表单插件.BeforeControlDataBinder
【应用场景】单据查看界面,对某些字段的值进行特殊处理。【案例演示】采购订单,修改文本字段和小数字段在前台界面的显示值。【实现步骤】...
点击下载文档
本文2024-09-23 04:00:51发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-162552.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章