Вопрос

Раскрасить ячейки

Мне нужно раскрасить ячейки разным цветом. Последняя колонка во вложенном файле cellDraw. У меня такое получилось в окне заказа (см. второе вложение).

function dgOfferingOrderOnGetCellDrawInfo(DataGrid, Column, Color) {   
    if(dgvOfferingOrder.Items(Column).DataFieldName == "OutOfTerms"  && dgvOfferingOrder.Items(Column).DataField.IsEnabled == true) {       
       var DataFieldValue = dgvOfferingOrder.Items(Column).DataField.Value;
       if (DataFieldValue == 1)
         Color.Value = clRed;
       if (DataFieldValue == 2)
         Color.Value = clGreen; 
       if (DataFieldValue == 3)
         Color.Value = clYellow; 
    }
    if(dgvOfferingOrder.Items(Column).DataFieldName == "RecomendedQuantity"  && dgvOfferingOrder.Items(Column).DataField.IsEnabled == true) {
                       Color.Value = clSkyBlue;
    }
}

В разделе контрагентов попробовал сделать по подобию. Событие  OnGetCellDrawInfo там есть. Но ничего не происходит. Думал, что-то неправильно в условиях. Но проверил точкоц останова, программа туда даже не попадает:

function grdDataOnGetCellDrawInfo(DataGrid, Column, Color) {
      debugger; // ???????????????????????????????????
  if(System.GetLocalComputerName() == 'PEUWUD14431') {
           debugger;
    if(gvAll.Items(Column).DataFieldName == "Category"  && gvAll.Items(Column).DataField.IsEnabled == true) {       
       var DataFieldValue = gvAll.Items(Column).DataField.Value;
       if (DataFieldValue == 'I')
         Color.Value = clRed;
       if (DataFieldValue == 'II')
         Color.Value = clGreen; 
       if (DataFieldValue == 'III')
         Color.Value = clYellow; 
       if (DataFieldValue == 'IV')
         Color.Value = clBlue; 
    }

  }
}

Буду признателен, если поможете советом.

 

С уважением,

Владлен Зенюков

Прикрепленные файлы

Нравится

1 комментарий

Возможно, в свойствах грида просто не включены в дизайнере HasCustomDraw и HasCustomCellDraw. Сравните с тем, что в гриде на той странице, где работает.

Показать все комментарии