二开案例.表单插件.文本字段使用按钮弹出编辑窗体

【应用场景】
文本字段,禁止直接输入文本,改为使用按钮弹出文本编辑窗体。
【案例演示】
采购订单,新增文本字段和多行文本字段,禁止直接输入文本,改为使用按钮弹出文本编辑窗体。

【实现步骤】
<1>编写表单插件,代码如下。
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Util;
using System;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【表单插件】文本字段使用按钮弹出编辑窗体
/// </summary>
[Description("【表单插件】文本字段使用按钮弹出编辑窗体"), HotUpdate]
public class TextFieldShowEditFormPlugIn : AbstractDynamicFormPlugIn
{
public override void BeforeF7Select(BeforeF7SelectEventArgs e)
{
base.BeforeF7Select(e);
if (e.FieldKey.Equals("F_Jac_Text", StringComparison.OrdinalIgnoreCase))
{
// 单行文本按钮编辑事件
var param = new DynamicFormShowParameter();
param.FormId = "Jac_TextEditor"; // 文本编辑器的业务对象标识
param.CustomParams["JacText"] = this.Model.GetValue("F_Jac_Text") as string; // 将文本值传递给文本编辑器
this.View.ShowForm(param, result =>
{
if (result != null && result.ReturnData != null && result.ReturnData is Tuple<string, string>)
{
var tuple = (Tuple<string, string>)result.ReturnData;
this.Model.SetValue("F_Jac_Text", tuple.Item2);
}
});
}
else if (e.FieldKey.Equals("F_Jac_Remarks", StringComparison.OrdinalIgnoreCase))
{
// 多行文本按钮编辑事件
var param = new DynamicFormShowParameter();
param.FormId = "Jac_TextEditor"; // 文本编辑器的业务对象标识
param.CustomParams["JacText"] = this.Model.GetValue("F_Jac_Remarks") as string; // 将文本值传递给文本编辑器
this.View.ShowForm(param, result =>
{
if (result != null && result.ReturnData != null && result.ReturnData is Tuple<string, string>)
{
var tuple = (Tuple<string, string>)result.ReturnData;
this.Model.SetValue("F_Jac_Remarks", tuple.Item2);
}
});
}
}
}
/// <summary>
/// 【表单插件
二开案例.表单插件.文本字段使用按钮弹出编辑窗体
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



