二开实现控制单据体行背景颜色(包括C#和Python脚本示例)

【应用场景】
为了数据看起来更清晰,在单据体根据条件设置行背景色。
【案例演示】
销售订单,控制计价数量大于20时,设置行背景色为黄色。
【实现步骤】
<1>编写表单插件(C#插件和Python插件二者选其一即可),代码如下。
// C# 插件代码示例
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
using Kingdee.BOS.Util;
using System.Collections.Generic;
using System.ComponentModel;
namespace DemoPlugin
{
[HotUpdate, Description("表单插件,设置单据体行颜色")]
public class SetRowColorPlugin : AbstractBillPlugIn
{
public override void AfterBindData(System.EventArgs e)
{
base.AfterBindData(e);
// V1 和 V2 任选其一都可使用,建议用 V2
//SetBackColorV1();
SetBackColorV2();
}
private void SetBackColorV1()
{
var entity = this.View.BusinessInfo.GetEntity("FSaleOrderEntry");
var entrys = this.View.Model.GetEntityDataObject(entity);
var grid = this.View.GetControl(entity.Key) as EntryGrid;
foreach (var entry in entrys)
{
var rowIndex = this.View.Model.GetRowIndex(entity, entry);
if (ObjectUtils.ToDecimal(entry["PriceUnitQty"], 0) > 20)
{
foreach (var field in entity.Fields)
{
grid.SetBackcolor(field.Key, "#FFFF00", rowIndex);
}
}
}
}
private void SetBackColorV2()
{
var entity = this.View.BusinessInfo.GetEntity("FSaleOrderEntry");
var entrys = this.View.Model.GetEntityDataObject(entity);
var grid = this.View.GetControl(entity.Key) as EntryGrid;
var colorRows = new List<KeyValuePair<int, string>>();
foreach (var二开实现控制单据体行背景颜色(包括C#和Python脚本示例)
【应用场景】为了数据看起来更清晰,在单据体根据条件设置行背景色。【案例演示】销售订单,控制计价数量大于20时,设置行背景色为黄色。【...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



