2015-03-04 1 views
0

Возможно ли включить только часть функций условного форматирования для пользователя? Похоже, что параметры подменю «Выделить ячейки» достаточно быстры, чтобы обрабатывать сетку с непрерывными обновлениями.Winforms DevExpress Xtragrid условное форматирование - с использованием только части функциональности

Можно ли ограничить «Условное форматирование» только подменю «Выделить ячейки правил»? Если нет - как я могу вызвать тот же диалог из пользовательского меню?

Где я могу найти стандартную функцию рендеринга штриховки для отображения того же стиля ячейки из моего пользовательского кода?

Спасибо, Peter

ответ

1

Вы можете использовать GridView.PopupMenuShowing событие для настройки всплывающего меню перед его отображением. Проверьте свойство PopupMenuShowingEventArgs.MenuType, чтобы получить меню столбца, и используйте свойство PopupMenuShowingEventArgs.Menu, чтобы получить объект GridViewMenu и его GridViewMenu.Items.
Вот пример:

private void gridView1_PopupMenuShowing(object sender, PopupMenuShowingEventArgs e) 
{ 
    if (e.MenuType != GridMenuType.Column) 
     return; 

    DXMenuItem menuItem = null; 

    foreach (DXMenuItem item in e.Menu.Items) 
     if (item.Tag.Equals(GridStringId.MenuColumnConditionalFormatting)) 
     { 
      item.Visible = false; 

      menuItem = ((DXSubMenuItem)item).Items[0]; 

      break; 
     } 

    menuItem.BeginGroup = true; 

    if (menuItem != null) 
     e.Menu.Items.Add(menuItem); 
} 
+0

Прохладный :). Вы случайно не знаете, могу ли я назвать функциональность из этих меню из моего пользовательского кода? Или как применить стили ячеек, которые эта функциональность применила бы? Эти бары выглядят хорошо, и я надеюсь, что мне не пришлось бы переопределять то же самое в CustomDrawColumn. – PiotrR

+0

@PiotrR Вы можете применить все эти условия форматирования в своем коде. Взгляните на [documentation] (https://documentation.devexpress.com/#WindowsForms/CustomDocument17691). – nempoBu4

+0

Мне нужно избегать использования встроенных GridFormatRules, потому что они должны замедляться, когда данные постоянно меняются. Я хочу запускать свои собственные значения в своем коде и просто делать ячейки похожими на встроенные в условное форматирование, но с моими значениями. Другое, что было бы полезно, это вызов стандартного диалога, получение значений, предоставленных пользователем, и возможность использования их в моем пользовательском коде. Вы знаете, если это возможно? – PiotrR

Смежные вопросы