二开案例.表单插件.富文本字段显示编辑界面
【应用场景】富文本字段是通过三个小点点的小按钮弹出编辑窗体,有用户觉得不是很好操作,那么还可以通过主菜单添加按钮来弹出编辑窗体。
【案例演示】采购申请单,新增一个富文本内容编辑字段,通过主菜单添加按钮来弹出编辑窗体。
【实现步骤】
<1>编写表单插件,代码如下。
using Kingdee.BOS.Core;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.Metadata.FieldElement;
using Kingdee.BOS.Util;
using System;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【表单插件】富文本字段显示编辑界面
/// </summary>
[Description("【表单插件】富文本字段显示编辑界面"), HotUpdate]
public class LargeRichTextFieldShowEditFormFormPlugIn : AbstractDynamicFormPlugIn
{
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);
if (e.BarItemKey.Equals("tbShowEditForm", StringComparison.OrdinalIgnoreCase))
{
var fieldKey = "F_Jac_RichEditTips";
var ctl = this.View.LayoutInfo.GetAppearance(fieldKey);
var para = new DynamicFormShowParameter();
para.FormId = FormIdConst.BOS_RichTextEdit;
para.ParentPageId = this.View.PageId;
para.CustomParams.Add("FieldKey", fieldKey);
var entityKey = ((LargeRichTextFieldAppearance)ctl).Field.Entity.Key;
var row = this.Model.GetEntryCurrentRowIndex(entityKey);
var allowEdit = this.View.GetFieldEditor(fieldKey, row).Enabled;
para.CustomParams.Add("AllowEdit", allowEdit.ToString());
this.View.ShowForm(para);
}
}
}
}
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展采购申请单,新增一个富文本内容编辑字段,主菜单新增一个菜单项,注册表单插件,保存元数据,开发完毕。
如果使用Python插件(参见文末附件),注册方式如下:
#【Python】【表单插件】富文本字段显示编辑界面
import clr
clr.AddReference('mscorlib')
clr.AddReference('Kingdee.BOS.Core')
from System import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.DynamicForm import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
from Kingdee.BOS.Core.Metadata.FieldElement import *
def BarItemClick(e):
if (e.BarItemKey.Equals("tbShowEditForm", StringComparison.OrdinalIgnoreCase)):
fieldKey = "F_Jac_RichEditTips";
ctl = this.View.LayoutInfo.GetAppearance(fieldKey);
para = DynamicFormShowParameter();
para.FormId = FormIdConst.BOS_RichTextEdit;
para.ParentPageId = this.View.PageId;
para.CustomParams.Add("FieldKey", fieldKey);
entityKey = ctl.Field.Entity.Key;
row = this.Model.GetEntryCurrentRowIndex(entityKey);
allowEdit = this.View.GetFieldEditor(fieldKey, row).Enabled;
para.CustomParams.Add("AllowEdit", allowEdit.ToString());
this.View.ShowForm(para);
#######################################################################
现在可以登录业务站点,打开采购申请单新增界面,点击主菜单上的【显示富文本编辑窗】,就可以弹出富文本的编辑界面啦。
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.表单插件.富文本字段显示编辑界面
本文2024-09-23 04:20:21发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-164669.html