2016-02-15 2 views
1

Мне просто интересно, как изменить цвет фона обязательных полей при добавлении новой строки. Так, например, имя и фамилия будут красными (обязательно), а телефон будет по умолчанию белым.Gridcontrol изменить/обновить обязательные поля разного цвета

Спасибо Patryk

+0

FYI для тех, кто хочет закрыть этот вопрос. Я понимаю, почему вы могли, и на первый взгляд я тоже. Однако, основываясь на характере инструментов Dev Express, это действительно разумный вопрос. Если вы знакомы с Dev Express и по-прежнему считаете, что это плохой вопрос, я уважаю нашу разницу во мнениях. Если нет, я прошу вас рассмотреть это, прежде чем произносить свой голос – Hambone

ответ

2

Лучший способ сделать это через дизайнер сетки - в большинстве случаев вам не нужно писать какой-либо код для этого.

Если вы идете в Grid View конструктора, выберите пункт меню «Внешний вид» и «Формат правил:»

enter image description here

Здесь вы можете добавить условие форматирования, нажав на значок плюса:

enter image description here

Под «колонки», выберите столбец, который условие формат обратиться.

В разделе «Правило» выберите соответствующее правило - на основе того, что вы описали, вы, вероятно, хотите «Формат на основе значения», FormatConditionRuleValue.

На вкладке «Правило» этого же диалога вы можете соответствующим образом установить свои свойства «Value1» и «Condition», например Value1 = 15, Condition = «equals».

Свойство «Внешний вид» позволит вам определить, как форматировать ячейку на основе этих условий.

Красота этого подхода - это все дизайнерский код, и его очень легко настроить. Логика форматирования также очень прозрачна. Условия форматирования были расширены, чтобы вы могли также оценивать выражения, а это значит, что вы можете создавать свои собственные формулы, используя другие значения и функции столбца.

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

1

Вы можете использовать событие gvView_CustomDrawCell и установить цвет фона, только если линия находится в состоянии, что вам нужно (Added, Частный ...)

private void gvView_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e) 
    { 
     if (e.Column != null && (e.Column.Name == bgcName.Name || e.Column.Name == bgcSureName.Name)) 
     {   
     DataRow focusedRow = gvView.GetDataRow(e.RowHandle); 
     if (focusedRow != null) 
     {   
      if (focusedRow.RowState == DataRowState.Added) 
      { 
      e.Appearance.BackColor = Color.FromArgb(80, 10, 30, 200); 
      } 
     } 
     } 
    } 

ASD

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