![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подсветка ячейки грида по значению соседней [D7, ADS]
kyn66 © (2009-08-28 16:40:00)Каким образом выделить ячейку грида в зависимости от значения соседней ячейки, т.е. значения другого поля в этой записи? Пытаюсь проверять на событии DBGridEh1DrawColumnCellи что-то запутался...
if (Column.FieldName = 'Tel1') and (MobiDataQueryPrizTel1.Value = true) then
begin
Canvas.Font.Color:= clRed;
Canvas.Font.Style:= [fsBold];
end
else
begin
Canvas.Font.Color:= clBlack;
Canvas.Font.Style:= [fsBold];
end;
Ega23 (2009-08-31 16:37:00) [1]
> А почему нельзя просто:
>
> if(Column.Field.DataSet.FieldByName('MyField').As<...> =
> <...>)then
А потому, что у тебя конкретный Cell в гриде отрисовывается. Если ты весь Row красишь - тогда да.
PEAKTOP (2009-08-31 16:33:00) [2]
> Кстати, совет.
> Некоторые гриды (DBGridEh, например) ищут полное совпадение
> по имени поля.
А почему нельзя просто:
if(Column.Field.DataSet.FieldByName('MyField').As<...> = <...>)then
Тогда проблемы имени поля становятся проблемами класса TDataSet.
<OFFTOP>Хотя тоже не вариант, ибо в SQL в 3-ем диалекте предусмотрены РиГиСтРоЗаВиСиМыЕ имена полей....</OFFTOP>
Ega23 (2009-08-31 15:21:00) [3]
> а нужно было именно поля таблицы включать.
Кстати, совет.
Некоторые гриды (DBGridEh, например) ищут полное совпадение по имени поля.
Т.е. более правильно не
(Column.FieldName = 'Tel1')
а
(AnsiUpperCase(Column.FieldName) = 'TEL1')
kyn66 (2009-08-31 09:59:00) [4]Все, решение найдено. У меня просто переклинило на проверку по имени столбцов, а нужно было именно поля таблицы включать. Все работает.
Медвежонок Пятачок (2009-08-28 17:39:00) [5]по моему надо второе условие ифа поместить внутрь ветки зен как вложенное.