电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

单据列表动态生成合并表头效果

来源:金蝶云社区作者:金蝶2024-09-235

单据列表动态生成合并表头效果

场景需求:

飘过~~,单据列表也想和编辑单据体那样有合并表头的效果,正常在BOS设计器里面,针对单据体字段,所需要的列合并,则只要定义字段的标题即可,如:“物料&物料编号”,“物料&物料名称”,“物料&规格”...,那么在单据列表实际没有直接配置地方,但是可以二开列表插件动态组合生成


效果图(以下以采购订单列表举例)

image.webp


二开插件样例:

1、列表插件,继承基类是AbstractListPlugIn

public override void ListCreateColumns(ListCreateColumnsEventArgs e)
        {
            Dictionary<string, List<JSONObject>> mergeCols = new Dictionary<string, List<JSONObject>>();
            //先根据定义在平台已经构建好的列信息找出相应构建包
            foreach (JSONObject obj in e.Columns)
            {
                string fieldname = obj is JSONObject ? (obj as JSONObject).GetValue<string>("dataIndex", "") : "";
                if ((new List<string>() { "FQty", "FBaseUnitQty", "FPriceUnitQty" }).Contains(fieldname))
                {
                    //如:FQty,FBaseUnitQty,FPriceUnitQty放在一起,合并为数量的二级表头,标识为 shuliang
                    if (mergeCols.ContainsKey("shuliang"))
                    {
                        mergeCols["shuliang"].Add(obj);
                    }
                    else
                    {
                        mergeCols.Add("shuliang", new List<JSONObject>() { obj });
                    }
                }
                else if ((new List<string>() { "FDeliveryDate", "FLocationId.FName" }).Contains(fieldname))
                {
                    //如:FDeliveryDate,FLocationId.FName放在一起,合并为交货信息的二级表头,标识为 jiaohuoinfo
                    if (mergeCols.ContainsKey("jiaohuoinfo"))
                    {
                        mergeCols["jiaohuoinfo"].Add(obj);
                    }
                    else
              

单据列表动态生成合并表头效果

场景需求:飘过~~,单据列表也想和编辑单据体那样有合并表头的效果,正常在BOS设计器里面,针对单据体字段,所需要的列合并,则只要定义字...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信