二开案例.列表插件.列表动态创建列
【应用场景】
列表界面上不依赖过滤方案指定的显示隐藏列配置,通过插件的方式动态的创建列并动态的给列赋值。
【案例演示】
采购订单列表,动态创建列并赋值。
【注意事项】
此解决方案仅支持版本PT-146869 [7.6.0.202103]及之后的版本。
【实现步骤】
<1>编写列表插件,代码如下。
using Kingdee.BOS; using Kingdee.BOS.Core.List.PlugIn; using Kingdee.BOS.Core.List.PlugIn.Args; using Kingdee.BOS.Util; using System; using System.ComponentModel; using System.Linq; namespace Jac.XkDemo.BOS.Business.PlugIn { /// <summary> /// 【列表插件】列表动态创建列 /// </summary> [Description("【列表插件】列表动态创建列"), HotUpdate] public class CreateDynamicListListPlugIn : AbstractListPlugIn { public override void CreateListHeader(CreateListHeaderEventArgs e) { base.CreateListHeader(e); // 创建动态列1 var header = e.ListHeader.AddChild();// 将动态列放在列表的最后面 //var header = e.ListHeader.AddChild(0);// 将动态列放在列表的指定位置 header.Caption = new LocaleValue("动态列1"); header.Key = "FDynamicColumn1"; header.FieldName = "FDynamicColumn1"; header.ColType = SqlStorageType.Sqlnvarchar; header.Width = 200; header.Visible = true; header.ColIndex = e.ListHeader.GetChilds().Max(o => o.ColIndex) + 1;// 注意:列的显示顺序不是ColIndex决定的,而是由该列在ListHeader的childs集合中的位置决定的。 // 创建动态列2 header = e.ListHeader.AddChild();// 将动态列放在列表的最后面 //header = e.ListHeader.AddChild(1);// 将动态列放在列表的指定位置 header.Key = "FDynamicColumn2"; header.FieldName = "FDynamicColumn2"; header.Caption = new LocaleValue("动态列2"); header.ColType = SqlStorageType.Sqlnvarchar; header.Width = 300; header.Visible = true; header.ColIndex = e.ListHeader.GetChilds().Max(o => o.ColIndex) + 1; } public override void FormatCellValue(FormatCellValueArgs args) { base.FormatCellValue(args); if (args.Header.Key.Equals("FDynamicColumn1", StringComparison.OrdinalIgnoreCase)) { args.FormateValue = string.Format("{0}=>{1}", args.Header.Caption, DateTime.Now); } else if (args.Header.Key.Equals("FDynamicColumn2", StringComparison.OrdinalIgnoreCase)) { args.FormateValue = string.Format("{0}=>{1}", args.Header.Caption, Guid.NewGuid()); } } } }
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展采购订单,注册列表插件,保存元数据,开发完毕。
【功能验证】
<1>登录业务站点,打开采购订单列表,此时,动态列已经创建成功。
---------------------------------------------------------------------------------------------------------
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.列表插件.列表动态创建列
【应用场景】列表界面上不依赖过滤方案指定的显示隐藏列配置,通过插件的方式动态的创建列并动态的给列赋值。【案例演示】采购订单列表,动...
点击下载文档
上一篇:二开案例.WebApi.查询辅助资料下一篇:系统运维.数据库.SQL拦截
本文2024-09-23 04:01:19发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-162604.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章