我使用Infragistic的UltraGrid控件在WinForms中工作。我想这样做,以便我的激活行显示使用与行的其余部分不同的背景颜色出错的单元格。
目前,如果未激活该行,我会看到带有红色背景的错误单元格,以及带有白色背景的验证单元格。但是,当我选择该行并且它被激活时,我无法再查看哪些单元格有错误,因为整行将其背景设置为黄色。
我想看到的是,如果该行被激活,则所有有效单元格都是黄色,所有无效单元格都是红色。如果没有无效的单元格,则所有单元格都为黄色。
目前,如果发现有错误,我将取消激活该行。只要用户没有再次点击该行,这就行了,这是一个相当蹩脚的假设。我查看了DisplayLayout.Override,它允许我覆盖网格,波段,行,列和单元格级别,但是当我在单元格级别覆盖时,似乎行级别的设置仍然优先。< / p>
答案 0 :(得分: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的示例。