二开案例.表单插件.二维码
【应用场景】
将文本转成为二维码(QRCode),并显示在界面上。
【案例演示】
采购订单新增3个二维码控件,演示使用不同的数据源显示二维码。
【实现步骤】
<1>编写表单插件,代码如下。
using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.Metadata.ControlElement; using Kingdee.BOS.Orm.DataEntity; using Kingdee.BOS.Util; using System; using System.ComponentModel; namespace Jac.XkDemo.BOS.Business.PlugIn { /// <summary> /// 【表单插件】二维码 /// https://vip.kingdee.com/article/121261160640374528 /// </summary> [Description("【表单插件】二维码"), HotUpdate] public class QRCodeFormPlugIn : AbstractDynamicFormPlugIn { public override void AfterBindData(EventArgs e) { base.AfterBindData(e); // 注意:自定义二维码文本必须以标记[Customer]开头。 var qrCodeContent = string.Format("[Customer]单据编号:{0},采购日期:{1},供应商:{2}" , this.Model.GetValue("FBillNo"), Convert.ToDateTime(this.Model.GetValue("FDate")).ToString("yyyy-MM-dd"), ((DynamicObject)this.Model.GetValue("FSupplierId"))["Name"]); var qrCode = (BarcodeAppearance)this.View.LayoutInfo.GetControlAppearance("F_Jac_Barcode2"); qrCode.DataBound = qrCodeContent; this.View.UpdateView("F_Jac_Barcode2"); } ///// <summary> ///// 直接将二维码指向某个图片 ///// </summary> //private void SetQRCodeImage() //{ // var dataBinderProperty = this.View.GetType().GetProperty("DataBinder", BindingFlags.Instance | BindingFlags.NonPublic); // var dataBinder = dataBinderProperty.GetValue(this.View, null); // var formStateProperty = typeof (DataBinder).GetProperty("FormState", BindingFlags.Instance | BindingFlags.NonPublic); // var formState = formStateProperty.GetValue(dataBinder, null); // var setPropertyMethod = typeof(DynamicWebFormState).GetMethod("SetProperty", BindingFlags.Instance | BindingFlags.NonPublic); // var qrCode = (BarcodeAppearance) this.View.LayoutInfo.GetControlAppearance("F_Jac_Barcode2"); // setPropertyMethod.Invoke(formState, new object[] { qrCode, -1, "SourceUrl", "http://localhost:1600/k3cloud/images/top.webp" }); //} } }
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展采购订单,新增页签,拖3个组合字段到新增页签,数据源分别设置如下图所示,注册表单插件,保存元数据,开发完毕。
使用单据字段做数据源:
使用固定文本做数据源:
设计时不设置数据源,运行时使用插件设置数据源:
【功能验证】
登录业务站点,打开采购订单编辑界面,二维码控件的显示效果如下图。
---------------------------------------------------------------------------------------------------------
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.表单插件.二维码
【应用场景】将文本转成为二维码(QRCode),并显示在界面上。【案例演示】采购订单新增3个二维码控件,演示使用不同的数据源显示二维码。【...
点击下载文档
上一篇:二开案例.元模型.二维码下一篇:二开案例.元模型.多选基础资料
本文2024-09-23 03:59:55发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-162445.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章