二开案例.表单插件.二维码

【应用场景】
将文本转成为二维码(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.GetV二开案例.表单插件.二维码
【应用场景】将文本转成为二维码(QRCode),并显示在界面上。【案例演示】采购订单新增3个二维码控件,演示使用不同的数据源显示二维码。【...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



