二开案例.列表插件.列表条件格式化之按日期进行格式化
【应用场景】使用日期字段进行列表条件格式化。
【案例演示】采购订单列表,单据日期为今天的数据行,显示不同的前景色。
【实现步骤】
<1>编写列表插件,如下所示。
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Core.List.PlugIn.Args;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Util;
using System;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【列表插件】列表条件格式化之按日期进行格式化
/// </summary>
[Description("【列表插件】列表条件格式化之按日期进行格式化"), HotUpdate]
public class FormatRowByDateListPlugIn : AbstractListPlugIn
{
/// <summary>
/// 列表行数据格式化
/// </summary>
/// <param name="args"></param>
public override void OnFormatRowConditions(ListFormatConditionArgs args)
{
base.OnFormatRowConditions(args);
// 单据日期为今天的数据行设置前景色为紫色背景色为黄色
if (args.DataRow["FDate"] != null && Convert.ToDateTime(args.DataRow["FDate"]).Date == DateTime.Now.Date)
{
var fc = new FormatCondition();
fc.ForeColor = "#FF00FF";
fc.BackColor = "#FFFF00";
args.FormatConditions.Add(fc);
}
}
}
}
对应Python代码如下所示(注意缩进)。
#【Python】【列表插件】列表条件格式化之按日期进行格式化
import clr
clr.AddReference('mscorlib')
from System import *
def OnFormatRowConditions(args):
# 单据日期为今天的数据行设置前景色为紫色背景色为黄色
if args.DataRow.DynamicObject["FDate"] == DateTime.Now.Date:
fc = FormatCondition()
fc.ForeColor = "#FF00FF"
fc.BackColor = "#FFFF00"
args.FormatConditions.Add(fc);
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展采购订单,注册列表插件,保存元数据,开发完毕。
现在可以登录业务站点,打开采购订单列表,检验一下插件效果啦。
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.列表插件.列表条件格式化之按日期进行格式化
本文2024-09-23 04:21:05发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-164743.html