二开案例.大文本.大文本字段赋值

【应用场景】使用插件给大文本字段赋值。
【案例演示】采购订单,单据头和单据体都新增一个大文本字段,通过插件给大文本字段赋值。

【实现步骤】
<1>编写单据插件,实现大文本字段赋值的功能。
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.Metadata.FieldElement;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Util;
using System;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【单据插件】大文本字段赋值
/// </summary>
[Description("【单据插件】大文本字段赋值"), HotUpdate]
public class LargeTextFieldSetValueBillPlugIn : AbstractBillPlugIn
{
/// <summary>
/// 单据头大文本字段赋值
/// </summary>
/// <param name="e"></param>
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);
var key = "F_Jac_LargeText1";
var dtNow = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
var dtNowTick = DateTime.Now.Ticks.ToString();
if (e.BarItemKey.EqualsIgnoreCase("tbLargeTextSetValue1"))
{
// 给大文本字段的摘要赋值
this.View.Model.SetValue(key, dtNow);
// 给大文本的详细信息赋值
var field = (LargeTextField)this.View.BillBusinessInfo.GetField(key);
field.TagDynamicProperty.SetValue(this.View.Model.DataObject, dtNowTick.GetUtf8Bytes());
this.View.UpdateView(key);
}
if (e.BarItemKey.EqualsIgnoreCase("tbLargeTextSetValue2"))
{
var field = (LargeTextField)this.View.BillBusinessInfo.GetField(key);
// 给大文本字段的摘要赋值
field.DynamicProperty.SetValue(this.View.Model.DataObject, dtNow);
// 给大文本的详细信息赋值
field.TagDynamicProperty.SetValue(this.View.Model.DataObject, dtNowTick.GetUtf8Bytes());
this.View.UpdateView(key);
}
}
/// <summary>
/// 单据体大文本字段赋值
/// </summary>
/// <param name="e"></param>
public override void EntryBarItemClick(BarItemClickEventArgs e)
{
base.EntryBarItemClick(e);
// 获取采购订单.明细信息的当前选中行数据包
DynamicObject entryRowObj;
int currentRowIndex;
if (!this.View.Model.TryGetEntryCurrentRow("FPOOrderEntry", out entryRowObj, out currentRowIndex))
{
return;
}
var key = "F_Jac_LargeText2";
var dtNow =
二开案例.大文本.大文本字段赋值
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



