Colors Dynamics AX-为不同颜色的多个栅格单元着色

Colors Dynamics AX-为不同颜色的多个栅格单元着色,colors,grid,axapta,x++,dynamics-ax-2012,Colors,Grid,Axapta,X++,Dynamics Ax 2012,在Dynamics AX 2012中,是否有方法将多个单元格的背景颜色更改为不同的颜色 Order Status Ship Status Order ID [green] [red] SO-1234 [green] [green] SO-1235 [red] [red] SO-1236 我已经编写了一个displayOption覆盖,它可以更改一个单元格的颜色,但它

在Dynamics AX 2012中,是否有方法将多个单元格的背景颜色更改为不同的颜色

Order Status     Ship Status     Order ID
[green]          [red]           SO-1234
[green]          [green]         SO-1235
[red]            [red]           SO-1236
我已经编写了一个displayOption覆盖,它可以更改一个单元格的颜色,但它似乎在最后应用了所有更改,因此无论您最后指定的颜色是什么,都是应用于所有单元格的颜色

_options.backColor(46080); //green
_options.affectedElementsByControl(OrderStatus.id());

//is there anyway to apply the first change, so I can make a second one?

_options.backColor(255); //red
_options.affectedElementsByControl(ShipStatus.id());
在上面列出的代码中,两个单元格的背景色都是红色

有什么建议吗


谢谢

我有一个类似的任务要完成,但我没有找到在Ax中完成它的方法(从技术上讲,您可以尝试Table control,但我强烈建议您不要这样做-您最终会大声咒骂)

我所做的是实现一个WPF用户控件并使用它。 这是一个小教程(可在答案#7中找到),展示了如何在内置WPF数据网格控件中实现单元背景转换器,以完成任务

实现后,可以使用LINQ(如果使用AX 2012 R2)、web服务或传递临时表来填充datagrid—访问AX数据的方法有很多


它可能不是最终的解决方案,但它是有效的。

我使用了一个表控件(尽管Maciej建议您不要这样做)。 它工作正常

您需要添加一个
控件来获取数据并设置属性
ColorScheme
RGB

然后,重写
FormControl editControl(int列,int行)
您可以通过
value=data.cell(列,行).data()访问每个值
其中
data
是表控件的名称。 请注意,您必须向表控件添加具有正确数据类型的控件并为其命名。同时将
ColorScheme
属性设置为
RGB

如果您获得了所需背景色的RGB值,则可以通过以下方式设置此颜色:

RealEdit.backgroundColor(WinAPI::RGB2int(real2int(R),real2int(G),real2int(B)));
RealEdit
是添加控件的名称


我这样做是为了显示一个填充了0到1之间的值的矩阵,并显示一个从绿色到红色的颜色渐变叠加。请参阅,如果您想了解有关颜色转换的更多信息。

[更改网格中某列的背景色][1][1]:请参阅上面的链接,这可能会帮助您…@MohdSaddafkhan我想问题是,在同一网格线上是否可能有多种颜色。我认为这是不可能的。是的,我们的要求是给同一行的两个单元格涂上两种不同的颜色。我已经实现了单细胞着色。谢谢