如何更改 Infragistics 的 UltraGrid 过滤器行的背景颜色?
Posted
技术标签:
【中文标题】如何更改 Infragistics 的 UltraGrid 过滤器行的背景颜色?【英文标题】:How can I change the background color of the Infragistics' UltraGrid filter row? 【发布时间】:2011-10-10 06:48:00 【问题描述】:目前是这样的:
我想更改那个蓝色,但我不知道要更改什么属性。
我尝试将我认为的属性更改为洋红色或突出的属性,以找出我需要的属性,但到目前为止还没有骰子。
有什么想法吗?
【问题讨论】:
【参考方案1】:为此使用“ultraGrid.DisplayLayout.Override.FilterCellAppearance”。
【讨论】:
我尝试过使用它,但颜色仍然是蓝色。是否有一些特定的地方我必须更改此设置?在特定事件或其他事情之前? 没有。请确保没有其他更深层次的设置覆盖它。为此,您应该查看表单的 *.designer.cs 文件并展开区域。可以肯定的是,删除您没有得到的所有选项(将它们注释掉)。 你要小心。如果操作不当,更改设计器文件可能会破坏您的实际表单【参考方案2】:我想你可能正在寻找这样的东西。在此示例中,我将选定的行颜色“消失”,但您可以将它们设置为您想要的任何颜色。
'Make selected row look just like any other row
myUltraGrid.DisplayLayout.Override.ActiveRowAppearance.BackColor = Color.White
myUltraGrid.DisplayLayout.Override.ActiveRowAppearance.ForeColor = Color.Black
'Make selected cell look like any other cell
myUltraGrid.DisplayLayout.Override.ActiveCellAppearance.BackColor = Color.Black
myUltraGrid.DisplayLayout.Override.ActiveCellAppearance.ForeColor = Color.White
【讨论】:
【参考方案3】:调整外观的最佳方法是在 UltraGrid 控件的 InitializeLayout 事件中,而不是调整设计器文件。您可以在设计时双击您的 UltraGrid,以挂钩到提到的事件。之后,您可以在为控件应用所需的过滤器后,对下面的单行进行注释和取消注释,以了解最终效果是什么:
private void ultraGrid1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e)
//If the row is not the ative row, you would see that color instead.
e.Layout.Override.FilterCellAppearance.BackColor = Color.Green;
//This would be visible when the row has filters applies, and not being active at the same time.
e.Layout.Override.FilterCellAppearanceActive.BackColor = Color.GreenYellow;
//The appearance that would be applied after you filtered IN some of the rows based on your filters.
e.Layout.Override.FilteredInCellAppearance.BackColor = Color.BlueViolet;
//After a filter is applied, and FilteredInCellAppearance is not being set.
e.Layout.Override.FilteredInRowAppearance.BackColor = Color.Pink;
//If FilterCellAppearance is not being set, the one below would take effect.
e.Layout.Override.FilterRowAppearance.BackColor = Color.Plum;
//The formatting of the filter rows, that have active filters already.
e.Layout.Override.FilterRowAppearanceActive.BackColor = Color.PowderBlue;
【讨论】:
以上是关于如何更改 Infragistics 的 UltraGrid 过滤器行的背景颜色?的主要内容,如果未能解决你的问题,请参考以下文章
也来一篇关于Infragistics WPF Report的使用教程
我找不到任何使用 Windows 窗体控件和(或)Infragistics 构建的 .NET 4.0 应用程序
Telerik 与 Silverlight 的 Infragistics
Infragistics WebGrid 与 Telerik Grid
如何让应用程序通过 Ultra Battery Saver 模式/Adb shell 卸载 Ultra Battery Saver 运行? (无根)