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

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

二开插件样例:
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格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



