报表设置行背景色二开示例原创
金蝶云社区-fengyj
fengyj
82人赞赏了该文章 381次浏览 未经作者许可,禁止转载编辑于2024年11月06日 20:18:44

使用BOS设计器中的 【列表条件格式化】属性设置背景色条件比较单一(如下图),逻辑复杂一些的可能就支持不了,需要插件支持。


上传图片



在报表表单插件中注册Python脚本实现行背景色设置:

import clr 
clr.AddReference('System')
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('System.Drawing')
clr.AddReference('System.Collections')

from System import *
from System.Collections import *
from System.Collections.Generic import *
from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.Report.PlugIn import *
from Kingdee.BOS.Core.Metadata import *
from Kingdee.BOS.Core.Report.PlugIn.Args import *
from System.Drawing import *

def OnFormatRowConditions(args):
  if (args.DataRow.ColumnContains("FExpiryDays") and args.DataRow["FExpiryDays"] != DBNull.Value and args.DataRow.ColumnContains("FMATERIALGROUP_FNUMBER") and args.DataRow["FMATERIALGROUP_FNUMBER"] != DBNull.Value):
    days=args.DataRow["FExpiryDays"]
    if (days is not None and Convert.ToInt32(days) < 0 and str(args.DataRow["FMATERIALGROUP_FNUMBER"])=="103"):
      fc = FormatCondition()
      fc.BackColor = '#FFDCBB' 
      args.FormatConditions.Add(fc)



效果图:


上传图片


图标赞 82
82人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!