3

我正在使用 Infragistic 的 UltraGrid 控件在 WinForms 中工作。我想这样做,以便我激活的行显示使用与行的其余部分不同的背景颜色存在错误的单元格。

目前,如果未激活该行,我会看到带有红色背景的错误单元格,以及带有白色背景的已验证单元格。但是,当我选择该行并将其激活时,我无法再看到哪些单元格有错误,因为整行的背景设置为黄色。

我想看到的是,如果该行被激活,所有有效单元格都是黄色的,所有无效单元格都是红色的。如果没有无效单元格,则所有单元格均为黄色。

目前,如果发现该行有错误,我将停用该行。只要用户不再单击该行,这就会起作用,这是一个非常蹩脚的假设。我查看了 DisplayLayout.Override,它允许我在网格、带区、行、列和单元格级别覆盖,但是当我在单元格级别覆盖时,似乎行级别的设置仍然优先。

4

1 回答 1

2

Infragistics 支持建议利用单元本身的 ActiveAppearance 和 ActiveAppearanceEnabled 属性,但是,我坚持使用未实现这些属性的早期版本的 Infragistics。

最后,我必须使用 IUIElementDrawFilter 类为单元格实现自定义绘制过滤器。可以在http://help.infragistics.com/Help/NetAdvantage/WinForms/2012.1/CLR2.0/html/Infragistics2.Win.v12.1~Infragistics.Win.IUIElementDrawFilter.html找到实现 IUIElementDrawFilter 的示例。

于 2012-11-08T22:25:38.350 回答