Вниз
Скачать: CL | DM;

Отрисовка DBGrid   Найти похожие ветки 

← →
av_mark ©   (2004-11-04 14:47) [0]

Есть 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%

Вопрос - это глюк или фича? Как избавиться?


← →
stone ©   (2004-11-04 14:55) [1]


> Вопрос - это глюк или фича?

Это бред

> Как избавиться?

Не писать бред.


← →
Vlad ©   (2004-11-04 15:08) [2]

я не понял, inherited тут зачем?

> Column.Font.Color

TDBGrid(Sender).Canvas.Font.Color



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.022 c
14-1100708166
cyborg
2004-11-17 19:16
2004.12.05
Опрос по поводу данного форума


1-1101049636
Frozzen
2004-11-21 18:07
2004.12.05
Canvas.Poligon(Points: array ofTPoint);


1-1101306761
makingoff
2004-11-24 17:32
2004.12.05
открытие проги из списка "открыть с помощью"


3-1099778094
Mih@s
2004-11-07 00:54
2004.12.05
IBDataSet и Params


14-1100685284
petrovsky
2004-11-17 12:54
2004.12.05
Как изменить имя профиля в Windows XP?




   Наверх