看板修改各种颜色方法总结原创
金蝶云社区-xmz
xmz
7人赞赏了该文章 2,689次浏览 未经作者许可,禁止转载编辑于2019年12月26日 11:25:51

1   修改前景色(字体颜色)——看板名称、列标题、列内容

1.1 效果

image.png

1.2 方法

1.2.1 看板名称

image.png

1.2.2 列标题

image.png

1.2.3 列内容

image.png

2   修改背景色——看板头、整行列标题、某个列标题

2.1 效果

image.png

2.2 方法

2.2.1 看板头

image.png

2.2.2 整行列标题

image.png

2.2.3 某个列标题

image.png

3   修改奇偶行背景色

3.1 效果

image.png

3.2 方法(示例代码参见文档末尾)

image.png

4   修改特定条件下的单元格的背景色和前景色(字体颜色)

4.1 效果

image.png

4.1 方法(示例代码参见文档末尾)

image.png

5   修改特定列的背景色

5.1 效果

image.png

5.2 方法(示例代码参见文档末尾)

image.png

6   修改特定条件下的整行的背景色和前景色(字体颜色)

6.1 效果

image.png

6.2 方法(示例代码参见文档末尾)

image.png

7   示例代码

image.png



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;//元数据上配置的字体颜色

                }

            }

        }

    }

}


赞 7