Как изменить цвет фона строки фильтра UltraGrid от Infragistics? - PullRequest
8 голосов
/ 21 июля 2011

В настоящее время это выглядит так:

enter image description here

Я бы хотел изменить этот синий цвет, но я не знаю, какое свойство изменить.

enter image description here

Я пытался изменить то, что я считаю, свойством пурпурного или чем-то, что выделяется в попытке выяснить, какое свойство мне нужно, но до сих пор не играло в кости.

Есть идеи?

Ответы [ 3 ]

0 голосов
/ 01 февраля 2018

Я думаю, вы можете искать что-то вроде этого.В этом примере я делаю выбранные цвета строк «исчезающими», но вы можете установить для них любой цвет по вашему желанию.

'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
0 голосов
/ 13 февраля 2018

Лучший способ настроить внешний вид - это событие InitializeLayout вашего элемента управления UltraGrid, а не настраивать файлы Designer.Вы можете дважды щелкнуть по вашей 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;
    }
0 голосов
/ 21 июля 2011

Используйте для этого «ultraGrid.DisplayLayout.Override.FilterCellAppearance».

...