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

Сетка на выделенной строке в RxDbGrid   Найти похожие ветки 

← →
СержК   (2004-10-08 10:40) [0]

Уважаемые мастера подскажите.
Я в RxDbGrid вывожу аварийные события(объекты энергетики). В зависимости от ситуации каждая строка в гриде имеет свой цвет фона и шрифта.

Мне нужно на выделенной строке каким-то образом либо изменять цвет сетки, либо увеличить толщину линий в сетке, чтобы диспетчеру было удобно концентрировать внимание на конкретной выбранной строке.
В свойствах грида я ничего не нашел. Кто знает - подскажите ....


← →
Reindeer Moss Eater ©   (2004-10-08 10:45) [1]

Если ячейка выделена, то в стиль шрифта добавлять fsBold


← →
KSergey ©   (2004-10-08 10:51) [2]

В событии рисования передается флаг, что это тек. ячейка (вроде не вру?)


← →
ЮЮ ©   (2004-10-08 10:51) [3]

>Мне нужно на выделенной строке каким-то образом либо изменять цвет сетки, либо увеличить толщину линий в сетке

У самой сетки цвет забит в коде, а толщина - одинагова для всех ячеек. Поэтому для нужной строки в OnDraw... нарисуй свой прямоугольник


← →
СержК   (2004-10-08 10:57) [4]

Извиняюсь за может слишком простой вопрос. Просто мне до этого никогда не приходилось работать со свойствами строки в гриде.

Как узнать, что строка в гриде является - текущей(выбранной)?
Как для нужной строки в OnDraw... нарисовать свой прямоугольник ?


← →
КаПиБаРа ©   (2004-10-08 11:00) [5]

СержК   (08.10.04 10:40)
изменять цвет сетки

Цвет фона изменяй.


← →
СержК   (2004-10-08 11:07) [6]

Цвет фона и цвет шрифта я изменить могу, но не имею право. Это установлено нормами и прописаны в БД.

Без проблем подошло бы изменить стиль шрифта в строке, но я чегото не соображу на какое событие это повесить, т.е. прописать что это нужно делать в данной текущей строке.


← →
Reindeer Moss Eater ©   (2004-10-08 11:23) [7]

А может тогда оставить энергетическую систему в покое?
От греха подальше.


← →
ЮЮ ©   (2004-10-08 11:28) [8]

type
 TRxDBGridAccess = class(TRxDBGrid);

...

procedure TForm1.RxDBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
 Field: TField; State: TGridDrawState);
begin
 if
   RxDBGrid1.Row - TRxDBGridAccess(RxDBGrid1).FixedRows =
   TRxDBGridAccess(RxDBGrid1).DataLink.ActiveRecord
 then // рисуется текущая запись
   RxDBGrid1.Canvas.Font.Style := RxDBGrid1.Canvas.Font.Style + [fsBold]
 else
   RxDBGrid1.Canvas.Font.Style := RxDBGrid1.Canvas.Font.Style - [fsBold];
   RxDBGrid1.DefaultDrawDataCell(Rect, Field, State);
end;


← →
СержК   (2004-10-08 11:38) [9]

Спасибо. Сейчас буду пробовать.



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

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



Память: 0.47 MB
Время: 0.026 c
1-1097149684
Timego
2004-10-07 15:48
2004.10.24
method pointer ВМЕСТО regular procedure?


1-1097076864
Okcid
2004-10-06 19:34
2004.10.24
Реестр Windows


1-1097129288
han-bratan
2004-10-07 10:08
2004.10.24
не могу проставить компоненты :(


3-1095776670
RavenD
2004-09-21 18:24
2004.10.24
Дисконнект?


1-1097563467
aleshap
2004-10-12 10:44
2004.10.24
Возможно ли в Delphi косвенно выполнить команду




   Наверх