![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отрисовка DBGrid [D7, MSSQL]
av_mark © (2004-11-04 14:47:00)Есть DBGrid. Нужно вывести информацию разным цветом.
Переопределяем событие OnDrawColumnCell и в оном пишем
procedure TAccTrebList.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if MyValue=1 then Column.Font.Color:=clGreen
else Column.Font.Color:=clWindowText;
Inc(FCount);
inherited;
end;
MyValue - просто переменная для примера
FCount - счетчик количества вызовов события.
Запускаем - работает. FCount порядка 50-60 (колонки * строки).
Усложняем. Берем условие из базы
begin
if Base.Fields[0].AsInteger=1 then... // дальше как и выше
FCount исчисляется десятками тысяч. Процессор загрущен под 100%
Вопрос - это глюк или фича? Как избавиться?
Vlad (2004-11-04 15:08:00) [1]я не понял, inherited тут зачем?
> Column.Font.Color
TDBGrid(Sender).Canvas.Font.Color
stone (2004-11-04 14:55:00) [2]
> Вопрос - это глюк или фича?
Это бред
> Как избавиться?
Не писать бред.