问题描述
我在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;
}
}
我的目标是删除右侧的彩色字段。那可填写的字段不应该是彩色的。也许我必须重写不同的方法并在网格中?我将不胜感激!
解决方法
您可以指定哪些控件受背景色的影响。
_options.backColor(0x00FF80); // Light green
_options.affectedElementsByControl(OprId.id(),PatientId.id());
另请参阅this blog。
请不要使用十进制指定颜色,而是将其转换为十六进制(BGR),即65535 = 0x00FFFF。