二开实现附件列表直接点击附件文件名预览文件
【应用场景】
方便在线预览,预览操作由 标准的选择附件 再 点击在线预览菜单 简化为 直接点击附件预览
【实现步骤】
<1>编写表单插件和服务插件,代码如下。
using System.ComponentModel; using System.Linq; using System.Reflection; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Core.List.PlugIn; using Kingdee.BOS.Core.List.PlugIn.Args; using Kingdee.BOS.JSON; using Kingdee.BOS.Util; using Kingdee.BOS.Web.DynamicForm; namespace DemoPlugin { [Description("附件列表插件扩展"), HotUpdate] public class AttachmentListPlugInExt : AbstractListPlugIn { public override void ListCreateColumns(ListCreateColumnsEventArgs e) { base.ListCreateColumns(e); var attachmentNameCol = e.Columns .Select(c => c as JSONObject) .FirstOrDefault(c => "FAttachmentName".EqualsIgnoreCase(c["dataIndex"].GetString())); //attachmentNameCol["header"] = "11213121212"; //attachmentNameCol["width"] = 500; attachmentNameCol.Put("xColDspCtrlType", "kdlinkbutton"); } public override void EntryButtonCellClick(EntryButtonCellClickEventArgs e) { base.EntryButtonCellClick(e); BarItemClickEventArgs args = new BarItemClickEventArgs("", "", "tbbtn_OnLineView"); var view = this.View as DynamicWebFormView; if (view != null) { var type = typeof(DynamicWebFormView); var prop = type.GetProperty("EventsProxy", BindingFlags.Instance | BindingFlags.NonPublic); var proxy = prop.GetGetMethod(true).Invoke(view, null) as DynamicFormViewPlugInProxy; proxy.FireBarItemClick(args); } } } }
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展附件明细,注册列表插件,保存元数据,开发完毕。
【功能验证】
<1>登录业务站点,打开单据的附件列表,可以看文件名显示成了超链接,点击超链接即可在线预览。
【金蝶云星空BOS二次开发案例演示】
https://vip.kingdee.com/article/94751030918525696
二开实现附件列表直接点击附件文件名预览文件
【应用场景】方便在线预览,预览操作由 标准的选择附件 再 点击在线预览菜单 简化为 直接点击附件预览【实现步骤】<1>编写表单插件和...
点击下载文档
本文2024-09-23 03:44:25发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-160798.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章