Мне нужно раскрасить ячейки разным цветом. Последняя колонка во вложенном файле 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;
}
}
}
Буду признателен, если поможете советом.
С уважением,
Владлен Зенюков
Нравится
Возможно, в свойствах грида просто не включены в дизайнере HasCustomDraw и HasCustomCellDraw. Сравните с тем, что в гриде на той странице, где работает.