1 修改前景色(字体颜色)——看板名称、列标题、列内容
1.1 效果
1.2 方法
1.2.1 看板名称
1.2.2 列标题
1.2.3 列内容
2 修改背景色——看板头、整行列标题、某个列标题
2.1 效果
2.2 方法
2.2.1 看板头
2.2.2 整行列标题
2.2.3 某个列标题
3 修改奇偶行背景色
3.1 效果
3.2 方法(示例代码参见文档末尾)
4 修改特定条件下的单元格的背景色和前景色(字体颜色)
4.1 效果
4.1 方法(示例代码参见文档末尾)
5 修改特定列的背景色
5.1 效果
5.2 方法(示例代码参见文档末尾)
6 修改特定条件下的整行的背景色和前景色(字体颜色)
6.1 效果
6.2 方法(示例代码参见文档末尾)
7 示例代码
using Kingdee.K3.MFG.Mobile.Business.PlugIn.SFC.KB;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TestKanBanColor
{
public class TestKanBanColor : KBOperScheduleUIEdit
{
protected override void AfterInitListFormatters()
{
base.AfterInitListFormatters();
foreach (var formatter in ListFormatters)
{
//1、修改奇偶行背景色
//偶数行背景色
if (formatter.Row % 2 == 0)
{
formatter.BackColor = "64, 64, 64";//灰
}
//奇数行背景色
else
{
formatter.BackColor = "0, 0, 192";//蓝
}
//2、修改特定条件下的单元格的背景色和前景色(字体颜色)
//工序状态=完工
if (formatter.Key.Equals("FData_FOperStatus"))
{
if (formatter.Value.Equals("完工"))
{
//背景色
formatter.BackColor = "255,0,255";//粉
//前景色(字体颜色)
formatter.ForeColor = "255,255,0";//黄
}
else
{
//前景色(字体颜色)
formatter.ForeColor = (this.View.GetControl("FData_FOperStatus").ControlAppearance).TextColor;//元数据上配置的字体颜色
}
}
//3、修改特定列的背景色
//生产订单
if (formatter.Key.Equals("FData_FMoNumberSeq"))
{
//背景色
formatter.BackColor = "255,0,255";//粉
}
}
//4、修改特定条件下的整行的背景色和前景色(字体颜色)
//工序状态=开工
List<int> lstStartRow = ListFormatters.Where(o => o.Key.Equals("FData_FOperStatus") && o.Value.Equals("开工")).Select(o => o.Row).ToList();
foreach (var formatter in ListFormatters)
{
if (lstStartRow.Contains(formatter.Row))
{
//背景色
formatter.BackColor = "128,0,128";//紫
//前景色(字体颜色)
formatter.ForeColor = "0,255,255";//蓝
}
else
{
//前景色(字体颜色)
formatter.ForeColor = (this.View.GetControl("FData_FOperStatus").ControlAppearance).TextColor;//元数据上配置的字体颜色
}
}
}
}
}
推荐阅读