是否有任何方法只能更改特定的网格颜色,而不能更改AX 2012中的整个表单域和网格?

问题描述

我在AX 2012中的displayOptions方法遇到一些问题。我想更改显示所有插入数据的表单网格颜色,但是我的方法还为客户端可以填充的所有其他字段着色(该网格中的Fields不是)。我的方法写在表格数据源中,看起来像这样-

public void displayOption(Common _record,FormRowdisplayOption _options)
{
    KRHEvents events;

    events = _record;

    Switch(events.EventStatus)
    {

        Case 10:
    _options.backColor(65535); //Light Yellow

        Break;

        Case 30:
    _options.backColor(8421631); //Light Red

        Break;

        Case 20:
    _options.backColor(65408); //Light Green

    _options.textColor(12582912);
        Break;
    }

}

表格如下:

Form

我的目标是删除右侧的彩色字段。那可填写的字段不应该是彩色的。也许我必须重写不同的方法并在网格中?我将不胜感激!

解决方法

您可以指定哪些控件受背景色的影响。

_options.backColor(0x00FF80); // Light green
_options.affectedElementsByControl(OprId.id(),PatientId.id());

另请参阅this blog

请不要使用十进制指定颜色,而是将其转换为十六进制(BGR),即65535 = 0x00FFFF。